游标变量.delete做什么?

时间:2017-12-21 06:06:56

标签: sql oracle plsql

我的项目中已经编写了以下代码。我试图理解.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;
... 

1 个答案:

答案 0 :(得分:0)

像这样使用,它会从MY_CUR集合中删除所有元素。

Collection methods

  

此程序有三种形式。 DELETE删除a中的所有元素   采集。 DELETE(n)从关联中删除第n个元素   数组或嵌套表。如果n为null,则DELETE(n)不执行任何操作。   DELETE(m,n)从关联中删除m..n范围内的所有元素   数组或嵌套表。如果m大于n或m或n为null,   DELETE(m,n)什么都不做。