我的项目中已经编写了以下代码。我试图理解.delete在下面的代码中做了什么。
CURSOR cur_somecur IS
select * from SomeTable;
TYPE my_cur_ty IS TABLE OF MyTable%ROWTYPE INDEX BY BINARY_INTEGER;
my_cur my_cur_ty;
FETCH cur_somecur BULK COLLECT
INTO my_cur LIMIT 1000;
...
LOOP
FORALL idx IN 1 .. my_cur.count SAVE EXCEPTIONS /* This is understood */
...
my_cur.delete; /* What does this do ? */
END LOOP;
...
答案 0 :(得分:0)
像这样使用,它会从MY_CUR集合中删除所有元素。
此程序有三种形式。 DELETE删除a中的所有元素 采集。 DELETE(n)从关联中删除第n个元素 数组或嵌套表。如果n为null,则DELETE(n)不执行任何操作。 DELETE(m,n)从关联中删除m..n范围内的所有元素 数组或嵌套表。如果m大于n或m或n为null, DELETE(m,n)什么都不做。