web-dev-qa-db-ja.com

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

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 ...
32
Xianlin

"40.5.3。単一行の結果を持つクエリの実行" で述べたように(私の強調):

単一の行(おそらく複数の列)を生成するSQLコマンドの結果は、レコード変数、行タイプ変数、またはスカラー変数のリスト。これは、ベースSQLコマンドを記述し、INTO句を追加することによって行われます。

だからこれはうまくいくはずです:

SELECT col1, col2 INTO a, b FROM tbl WHERE...;
49
Milen A. Radev