PostgreSQL での複数の行の効率的な更新
PostgreSQL は、標準の更新ステートメントの制限を回避して、複数の行を同時に更新するための強力な方法を提供します。 このガイドでは、非常に効果的なアプローチを説明します。
方法: UPDATE ... FROM
句の利用
UPDATE ... FROM
構文は、別のソースからのデータに基づいて複数の行を更新するクリーンで効率的な方法を提供します。 この「マッピング テーブル」アプローチにより、複数の列を一度に更新するプロセスが簡素化されます。
たとえば、対応する column_a
値に基づいて column_b
値を更新するには:
<code class="language-sql">UPDATE test AS t SET column_a = c.column_a FROM (VALUES ('123', 1), ('345', 2) ) AS c(column_b, column_a) WHERE c.column_b = t.column_b;</code>
このクエリは、VALUES
句を使用してマッピング テーブルを作成します。 これを展開して複数の列を更新するのは簡単です:
<code class="language-sql">UPDATE test AS t SET column_a = c.column_a, column_c = c.column_c FROM (VALUES ('123', 1, '---'), ('345', 2, '+++') ) AS c(column_b, column_a, column_c) WHERE c.column_b = t.column_b;</code>
この手法は、単一の簡潔なクエリで PostgreSQL の複数の行を更新するためのスケーラブルで柔軟なソリューションを提供します。
以上が単一のクエリで PostgreSQL の複数の行を更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。