U hebt die lokale variabelen niet nodig voor schema en tabel. Gebruik de indelingsoptie om de query's te construeren en EXECUTE
om het dynamisch uit te voeren
CREATE OR REPLACE FUNCTION xx.fn_build_test_(
IN p_var_archive_schema character varying,
IN p_var_archive_table character varying )
RETURNS record AS
$BODY$
DECLARE
l_var_test VARCHAR[];
BEGIN
SELECT array
( SELECT TO_CHAR(column_name,'YYYYMMDD')
FROM "test_table"
WHERE col1 = 1
) INTO l_var_test;
EXECUTE format (
'select col_name FROM %I.%I',
p_var_archive_schema,p_var_archive_table)
--INTO rec_variable;
END;
$BODY$
LANGUAGE plpgsql
VOLATILE SECURITY INVOKER;
Als u het resultaat van een dynamische zoekopdracht wilt retourneren, kunt u
. gebruiken
RETURNS TABLE
optie en doe dan RETURN QUERY EXECUTE
om resultaten van de zoekopdracht te retourneren.