【发布时间】:2012-05-25 08:57:41
【问题描述】:
将Execute Immediate 用于FORALL、BULK 在 pl/sql 块中收集:
FORALL i in rowid.FIRST ..rowid.LAST
Execute Immediate 'Delete table_name where rowid '=rowid(i)
上面的东西是行不通的。谁能给出insert 和delete 的语法?
【问题讨论】:
-
您能否包括您正在使用的确切语法并详细说明您收到的错误?
-
嘿 ryan,我想在批量删除中使用立即执行。我正在寻找它的 syantax。我们可以在不使用绑定变量的情况下使用 Execute Immediate
-
这种方式不能使用立即执行。如果要在批量中删除,您可以执行以下操作:其中 table_name 是表的名称 TYPE delete_list IS TABLE OF table_name.id%TYPE; (将要从表中删除的值添加到 delete_list) FORALL i IN delete_list.first .. delete_list.last DELETE FROM forall_test WHERE id = delete_list(i);
标签: sql oracle plsql oracle10g oracle11g