我想用DELETE Collection
方法来删除收集 一些元素,如:DELETE收集方法在Oracle工作错误
create or replace procedure testloop3 (clearaaa out nestedtable) as
type nestedtable is table of varchar2(255);
reply_ref_messageIds nestedtable;
getDelete_messageIds nestedtable;
begin
select distinct r.messagebox_id bulk collect into reply_ref_messageIds from reply r;
select m.id bulk collect into getDelete_messageIds from messagebox m;
getDelete_messageIds.delete(2);
getDelete_messageIds.delete(4);
getDelete_messageIds.delete(7);
getDelete_messageIds.delete(11);
getDelete_messageIds.delete(13);
for i in getDelete_messageIds.FIRST .. getDelete_messageIds.LAST loop
dbms_output.put_line(i);
end loop;
for i in 5 .. 12 loop
dbms_output.put_line(i);
end loop;
end;
,然后我调试这个程序与PLSQL开发
-- Created on 2013/4/4 by THINKPAD
declare
-- Local variables here
aa nestedtable;
begin
-- Test statements here
testloop3(aa);
end;
和我得到getDelete_messageIds
索引前删除是1至15.
但是:当我调试到getDelete_messageIds.delete(2);
它删除索引1和2 ..我无法解释为什么。
,然后当我调试下一条语句getDelete_messageIds.delete(4);
它删除索引3和4,然后getDelete_messageIds.delete(7);
只删除索引7 ...
我无法理解......
欢迎的StackOverflow!请在您的帖子中格式化代码。 – peterm 2013-04-04 15:56:15
thanks.but如何格式化代码?只有四个空间?我不明白,规范... – 2013-04-04 16:12:04