ホームページ > データベース > mysql チュートリアル > 単一のクエリで PostgreSQL の複数の行を更新するにはどうすればよいですか?

単一のクエリで PostgreSQL の複数の行を更新するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-12 22:52:42
オリジナル
368 人が閲覧しました

How Can I Update Multiple Rows in PostgreSQL with a Single Query?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート