एक तरीका: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 $$;