0
EXECUTE内から挿入IDを返そうとしています。これは正常に動作します:postgreSQLの中で値を返す方法PL/pgSQL EXECUTE
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$
私は、クエリを動的に生成されるように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$
しかし、内部のそれをやったときに、私はエラーを取得する実行します。これはエラーです:
ERROR: syntax error at or near "INTO"
LINE 1: ...Log" (notes) VALUES ($$hello$$) RETURNING "DULid" INTO retva...
EXECUTEで使用すると、戻り値(この場合は挿入ID)を取得するにはどうすればよいですか?
ああを参照してください。ありがとうございました! –