我们在Oracle中使用 execute immediate来执行insert ,如果此时要return 某一字段的值,怎么获得,例如
declare
i varchar2(20);
tmpstr varchar2(2000);
begin
tmpstr :='insert into dt_user(id)values(11) return id into '||i;
execute immediate tmpstr into i;
dbms_output.put_line(i);
end;
有没有懂得呢。。
declare
i varchar2(20);
tmpstr varchar2(2000);
begin
tmpstr :='insert into dt_user(id)values(11) return id into '||i;
execute immediate tmpstr into i;
dbms_output.put_line(i);
end;
有没有懂得呢。。
还要返回什么?
declare
i varchar2(20);
tmpstr varchar2(2000);
begin
tmpstr :='insert into y(id)values(11) return id into :1';
execute immediate tmpstr RETURNING into i;
dbms_output.put_line(i);
end;
还可以返回其他字段如下:declare
i varchar2(20);
tmpstr varchar2(2000);
begin
tmpstr := 'update a set id=4 where id=3 returning content into :1';
execute immediate tmpstr
returning into i;
dbms_output.put_line(i);
end;