Satu cara:gunakan catatan record
variabel:
DO $$
DECLARE
_rec record;
BEGIN
SELECT INTO _rec
id, name, surname FROM t WHERE id = ?;
END $$;
Perhatikan bahwa struktur record
jenis tidak terdefinisi sampai ditetapkan. Jadi Anda tidak dapat mereferensikan kolom (bidang) sebelum melakukannya.
Cara lain:tetapkan beberapa variabel skalar:
DO $$
DECLARE
_id int;
_name text;
_surname text;
BEGIN
SELECT INTO _id, _name, _surname
id, name, surname FROM t WHERE id = ?;
END $$;
Adapun contoh pertama Anda:%ROWTYPE
hanya kebisingan di Postgres. Dokumentasi
:
Jadi:
DO $$
DECLARE
my_data t; -- table name serves as type name, too.
BEGIN
SELECT INTO my_data * FROM t WHERE id = ?;
END $$;