hr@TEST>set serveroutput on
hr@TEST>declare tmpNum number:=10;
2 begin
3 dbms_output.put_line('tmpNum='||tmpNum);
4 execute immediate 'update test set fnum=(select sum(fnumsum) from tnum) '||
5 ' where fid=1 returning nvl(fnum,0) into :fnum' returning into tmpNum;
6 dbms_output.put_line('tmpNum='||tmpNum);
7 end;
8 /
tmpNum=10
tmpNum=3475.624
本文展示了一个使用PL/SQL动态执行SQL更新语句的例子,并通过变量接收返回的结果。具体包括声明变量、使用DBMS_OUTPUT输出信息、执行EXECUTE IMMEDIATE动态SQL并利用RETURNING子句获取更新后的数值。
1868

被折叠的 条评论
为什么被折叠?



