怎么理解数据库集合元素的删除
这篇文章主要介绍“怎么理解数据库集合元素的删除”,在日常操作中,相信很多人在怎么理解数据库集合元素的删除问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么理解数据库集合元素的删除”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
我创建了一个嵌套表类型和过程:
CREATEORREPLACETYPEplch_numbers_tISTABLEOFNUMBER;/CREATEORREPLACEPROCEDUREplch_show_numbers(title_inINVARCHAR2,numbers_inINplch_numbers_t)ISBEGINDBMS_OUTPUT.put_line(title_in);FORrecIN(SELECTCOLUMN_VALUEFROMTABLE(numbers_in))LOOPDBMS_OUTPUT.put_line(rec.COLUMN_VALUE);ENDLOOP;END;/
下面的选项用来代替下列代码块的 /*BODY*/ 注释:
DECLAREl_numbersplch_numbers_t:=plch_numbers_t(12,23,34,45,56,67,78,89,90,100);BEGIN/*BODY*/plch_show_numbers('AFTERDELETE',l_numbers);END;/
哪些选项使得这个块执行之后会显示如下文本:
AFTERDELETE23456789
换而言之,所有偶数元素都被删除了。
(A)
FORindxIN1..l_numbers.COUNTLOOPIFMOD(indx,2)=0THENl_numbers.delete(indx);ENDIF;ENDLOOP;
SQL>DECLARE2l_numbersplch_numbers_t:=plch_numbers_t(12,323,434,545,656,767,878,989,1090,11100);12BEGIN13FORindxIN1..l_numbers.COUNTLOOP14IFMOD(indx,2)=0THEN15l_numbers.delete(indx);16ENDIF;17ENDLOOP;1819plch_show_numbers('AFTERDELETE',l_numbers);20END;21/AFTERDELETE1234567890PL/SQLproceduresuccessfullycompletedSQL>
(B)
FORindxIN1..l_numbers.COUNTLOOPIFMOD(l_numbers(indx),2)=0THENl_numbers.delete(indx);ENDIF;ENDLOOP;
SQL>DECLARE2l_numbersplch_numbers_t:=plch_numbers_t(12,323,434,545,656,767,878,989,1090,11100);12BEGIN13FORindxIN1..l_numbers.COUNTLOOP14IFMOD(l_numbers(indx),2)=0THEN15l_numbers.delete(indx);16ENDIF;17ENDLOOP;1819plch_show_numbers('AFTERDELETE',l_numbers);20END;21/AFTERDELETE23456789PL/SQLproceduresuccessfullycompletedSQL>
(C)
DELETEFROMTABLE(l_numbers)WHEREMOD(index_value,2)=0;
SQL>DECLARE2l_numbersplch_numbers_t:=plch_numbers_t(12,323,434,545,656,767,878,989,1090,11100);12BEGIN13DELETEFROMTABLE(l_numbers)WHEREMOD(index_value,2)=0;1415plch_show_numbers('AFTERDELETE',l_numbers);16END;17/DECLAREl_numbersplch_numbers_t:=plch_numbers_t(12,23,34,45,56,67,78,89,90,100);BEGINDELETEFROMTABLE(l_numbers)WHEREMOD(index_value,2)=0;plch_show_numbers('AFTERDELETE',l_numbers);END;ORA-06550:第13行,第15列:PL/SQL:ORA-00903:表名无效ORA-06550:第13行,第3列:PL/SQL:SQLStatementignoredSQL>
(D)
FORrecIN(SELECT*FROMTABLE(l_numbers)WHEREMOD(COLUMN_VALUE,2)=0)LOOPl_numbers.delete(rec.COLUMN_VALUE);ENDLOOP;
SQL>DECLARE2l_numbersplch_numbers_t:=plch_numbers_t(12,323,434,545,656,767,878,989,1090,11100);12BEGIN13FORrecIN(SELECT*FROMTABLE(l_numbers)WHEREMOD(COLUMN_VALUE,2)=0)LOOP14l_numbers.delete(rec.COLUMN_VALUE);15ENDLOOP;1617plch_show_numbers('AFTERDELETE',l_numbers);18END;19/AFTERDELETE122334455667788990100PL/SQLproceduresuccessfullycompletedSQL>
实测答案为B
到此,关于“怎么理解数据库集合元素的删除”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。