आपके पास अब तक जो है वह अच्छा लग रहा है। अनुपलब्ध घटक:बहुरूपी प्रकार ।
CREATE OR REPLACE FUNCTION change_val(_tbl_type anyelement)
RETURNS SETOF anyelement -- problem solved
LANGUAGE plpgsql AS
$func$
BEGIN
RETURN QUERY EXECUTE format(
'UPDATE %s SET val = 2 RETURNING *;'
, pg_typeof(_tbl_type))
);
END
$func$;
कॉल (महत्वपूर्ण):
SELECT * FROM change_val(NULL::some_tbl);
db<>fiddle यहां
पुराना sqlfiddle
उप>
देखें (अंतिम पैराग्राफ):