zurückgeben Ich versuche, die Einfüge-ID innerhalb von EXECUTE zurückzugeben. Dies funktioniert gut:Wie man einen Wert innerhalb eines postgreSQL PL/pgSQL EXECUTE
CREATE OR REPLACE FUNCTION public.mytest2()
RETURNS INTEGER
LANGUAGE plpgsql
AS $function$
DECLARE
retval INTEGER;
RETURNING "DULid" INTO retval;';
BEGIN
INSERT INTO "dbUpdateLog" (notes) VALUES ($$hello$$) RETURNING "DULid" INTO retval;
RETURN retval;
END;
$function$
Wenn es jedoch im Inneren zu tun EXECUTE ich einen Fehler:
CREATE OR REPLACE FUNCTION public.mytest2()
RETURNS INTEGER
LANGUAGE plpgsql
AS $function$
DECLARE
retval INTEGER;
BEGIN
EXECUTE 'INSERT INTO "dbUpdateLog" (notes) VALUES ($$hello$$) RETURNING "DULid" INTO retval;';
RETURN retval;
END;
$function$
ich verwenden müssen auszuführen, wie die Abfragen dynamisch generiert werden. Dies ist der Fehler:
ERROR: syntax error at or near "INTO"
LINE 1: ...Log" (notes) VALUES ($$hello$$) RETURNING "DULid" INTO retva...
Wie kann ich einen Rückgabewert (speziell der Einsatz ID in diesem Fall) erhalten, wenn verwendet innerhalb EXECUTE?
Ah, was für ein einzelnes fehl am Platze Zitat tun. Vielen Dank! –