Postgres関数はクエリ結果を複数の変数に割り当てます


28

Postgres関数で以下のように2つの変数に値を割り当てる必要があります。

a := select col1 from tbl where ...
b := select col2 from tbl where ...

1行のコマンドで2つの値を2つの変数に割り当てるにはどうすればよいですか?

いいね

a,b := select col1,col2 from tbl where ...

回答:


44

「40.5.3。単一行の結果を使用したクエリの実行」で述べたように (強調マイニング):

単一の行(複数の列の場合もある)を生成するSQLコマンドの結果は、レコード変数、行タイプ変数、またはスカラー変数のリストに割り当てることができます。これは、基本SQLコマンドを記述し、INTO句を追加することにより行われます。

したがって、これは動作するはずです:

SELECT col1, col2 INTO a, b FROM tbl WHERE...;
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.