在postgresql中,是否可以使用返回id而不是lastval()?

在postgresql中,是否可以使用返回id而不是lastval()?,postgresql,Postgresql,在postgresql中,是否可以使用返回id而不是lastval()? 例如 下面的语句(“将id返回到myid”)是否作为lastval()运行? 如果表2有多行,myid是只返回最后一个值还是多个值 CREATE OR REPLACE PROCEDURE public.proc1(INOUT myid INTEGER) LANGUAGE plpgsql AS $$ begin insert into public.table1 select * from public.

在postgresql中,是否可以使用返回id而不是lastval()? 例如 下面的语句(“将id返回到myid”)是否作为lastval()运行? 如果表2有多行,myid是只返回最后一个值还是多个值

CREATE OR REPLACE PROCEDURE public.proc1(INOUT myid INTEGER)
 LANGUAGE plpgsql
AS $$
begin 
    insert into public.table1
    select * from public.table2;
    returning id INTO myid ; 
    COMMIT;
    END ;
$$
;

您需要将其更改为返回ID列表的函数。如果我使用insert into public.table1 values(col1,col2)(不是来自表2),您可以在一个变量中返回多个值,我可以使用上面的过程吗?您应该会觉得有趣。