1つの方法:record
変数:
DO $$
DECLARE
_rec record;
BEGIN
SELECT INTO _rec
id, name, surname FROM t WHERE id = ?;
END $$;
record
の構造に注意してください タイプは割り当てられるまで未定義です。したがって、それを行う前に列(フィールド)を参照することはできません。
別の方法:複数のスカラー変数を割り当てる:
DO $$
DECLARE
_id int;
_name text;
_surname text;
BEGIN
SELECT INTO _id, _name, _surname
id, name, surname FROM t WHERE id = ?;
END $$;
最初の例として:%ROWTYPE
Postgresでは単なるノイズです。 ドキュメント
:
だから:
DO $$
DECLARE
my_data t; -- table name serves as type name, too.
BEGIN
SELECT INTO my_data * FROM t WHERE id = ?;
END $$;