【问题标题】:Updating Multiple Tables using FORALL option in ORACLE在 ORACLE 中使用 FORALL 选项更新多个表
【发布时间】:2016-06-13 13:50:51
【问题描述】:

谁能帮助我如何在 oracle 的 FORALL 选项中给出多个 DML 语句。

【问题讨论】:

    标签: oracle for-loop plsql oracle11g database-performance


    【解决方案1】:

    如何在 FORALL 中给出多个 DML 语句

    你不能。一个FORALL 语句只能支持一个DML 语句。对于“n”个 DML,您需要编写“n”个 FORALL 语句。

    【讨论】:

      【解决方案2】:

      实际上,您可以将 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);
      

      【讨论】:

        猜你喜欢
        • 2021-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-01
        • 1970-01-01
        • 2011-05-04
        • 2019-10-02
        相关资源
        最近更新 更多