欢迎来到天天文库
浏览记录
ID:34725209
大小:54.88 KB
页数:5页
时间:2019-03-10
《oracle集合的操作方法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、17集合操作17.1集合方法EXITS确定结合元素是否存在COUNT用于返回集合元素中的总的个数,如果集合元素值存在,则会返回个数。若集合元素中的值为NULL,则不会统计。DECLARETYPEename_talbe_typeISTABLEOFename_emp%TYPEINDEXBYBINARY_INTEGER;ename_tableename_table_type;BEGINename_table(-1)=‘Scott’;ename_table(0)=’Mary’;ename_table(2)=‘John’;dbms_output.put_line(‘Thenu
2、mberofthetableis‘
3、
4、ename_table.count);ENDLIMIT用于返回集合中元素的最大个数。嵌套表和索引表中的元素个数没有限制,则返回NULL,对于VARRAY中,则返回该表中允许的最大限制个数。DECLARETYPEename_talbe_typeISVARRAY(30)OFemp.ename%TYPE;ename_tableename_table_type:=ename_talbe_type(‘Mary’);BEGINdbms_output.put_line(‘MAXlimitofTHEtableis:’
5、
6、ename_talbe.
7、limit);ENDFIRST用于返回集合元素的第一个下标。LAST用于返回集合最后元素的下标。DECLARETYPEename_table_typeISTABLEOFemp.ename%TYPEINDEXOFBINARY_INTEGER;ename_tableename_table_type;BEGINename_table(-5)=‘Scott’;ename_table(1)=‘Mary’;ename_talbe(3)=‘Bill’;dbms_output.put_line(‘TheindexofThefirstelementis:‘
8、
9、ename_table.
10、first);dbms_output.put_line(‘TheindexofThelastelementis:‘
11、
12、ename_table.last);END同理,PRIOR和NEXT返回前一个和后一个元素的下标。EXTEND用于扩展集合的尺寸,并为增加元素。只适用于嵌套表和VARRAY数组。EXTEND,EXTEND(n),EXTEND(n,i)三种格式。EXTEND添加一个元素,值为NULL;EXTEND(n)添加n个值为NULL的元素;EXTEND(n,i)添加n个元素,值和i下标值得元素相等。DECLARETYPEename_table_typeISVAR
13、RAY(10)OFemp.ename%TYPE;ename_talbeename_table_type;BEGINename_table:=ename_table_type(‘MARY’);ename_table.extend(5,1);dbms_output.put_line(‘ALLcountis:‘
14、
15、ename_table.count);ENDTRIM用于从集合尾部删除元素。TRIM,和TRIM(n)两种格式。用法同理EXTEND。DELETE用于删除集合的元素。只适用于嵌套表和索引表。三种引用格式,DELETE删除所有元素,DELETE(n)删除几个钟的
16、下标为n的元素,DELETE(m,n)删除从m到n之间的元素。DECLARETYPEename_table_typeISVARRAY(20)OFVARCHAR2(12);ename_tableename_talbe_type;BEGINename_talbe(2)=‘Scott’;ename_table(4)=‘Mary’;ename_talbe(10)=‘Helen’;ename_table.delete(10);dbms_output.put_line(‘Thecurrentcountis:‘
17、
18、ename_table.count);END17.2集合的赋值SE
19、T用于集合赋值,也可以取消某几个中的重复元素,再者当用于集合赋值的时候,需要两个结合的属性完全一致。declaretypent_table_typeistableofnumber;nt_tablent_table_type:=nt_table_type(1,2,2,3,4,5);result_tablent_table_type;begindbms_output.put_line('Theoriginalcountis:'
20、
21、nt_table.count);result_table:=set(nt_table);dbms_output.put_line('The
此文档下载收益归作者所有