【发布时间】:2016-06-13 13:50:51
【问题描述】:
谁能帮助我如何在 oracle 的 FORALL 选项中给出多个 DML 语句。
【问题讨论】:
标签: oracle for-loop plsql oracle11g database-performance
谁能帮助我如何在 oracle 的 FORALL 选项中给出多个 DML 语句。
【问题讨论】:
标签: oracle for-loop plsql oracle11g database-performance
如何在 FORALL 中给出多个 DML 语句
你不能。一个FORALL 语句只能支持一个DML 语句。对于“n”个 DML,您需要编写“n”个 FORALL 语句。
【讨论】:
实际上,您可以将 DML 放在单个匿名 pl/sql 块中,并通过执行立即语句运行它,如下所示 (https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:9530395800346231332):
forall 1 .. l_var.count
execute immediate 'begin
delete tab1 where id=:1;
delete tab2 where id=:1;
delete tab3 where id=:1;
end;' using l_var(i);
【讨论】: