2024年4月18日发(作者:)
17 集合操作
17.1 集合方法
EXITS确定结合元素是否存在
COUNT用于返回集合元素中的总的个数, 如果集合元素值存在,则会返回个数。若集合元
素中的值为NULL,则不会统计。
DECLARE
TYPE ename_talbe_type IS TABLE OF ename_emp % TYPE INDEX BY BINARY_INTEGER;
ename_table ename_table_type;
BEGIN
ename_table(-1) = ‘Scott’;
ename_table(0) = ’Mary’;
ename_table(2) = ‘John’;
dbms__line( ‘The number of the table is ‘ || ename_);
END
LIMIT 用于返回集合中元素的最大个数。嵌套表和索引表中的元素个数没有限制,则返回
NULL,对于VARRAY中,则返回该表中允许的最大限制个数。
DECLARE
TYPE ename_talbe_type IS VARRAY(30) OF % TYPE;
ename_table ename_table_type := ename_talbe_type( ‘Mary’);
BEGIN
dbms__line(‘ MAX limit of THE table is :’ || ename_ );
END
FIRST 用于返回集合元素的第一个下标。LAST用于返回集合最后元素的下标。
DECLARE
TYPE ename_table_type IS TABLE OF % TYPE INDEX OF BINARY_INTEGER;
ename_table ename_table_type;
BEGIN
ename_table(-5) = ‘Scott’;
ename_table(1) = ‘Mary’;
ename_talbe(3) = ‘Bill’ ;
dbms__line( ‘The index of The first element is : ‘ || ename_);
dbms__line( ‘The index of The last element is : ‘ || ename_ );
END
同理,PRIOR 和NEXT返回前一个和后一个元素的下标。
EXTEND用于扩展集合的尺寸,并为增加元素。
只适用于嵌套表和VARRAY数组。
EXTEND,EXTEND(n),EXTEND(n,i)三种格式。 EXTEND添加一个元素,值为NULL;EXTEND(n)
添加n个值为NULL的元素;EXTEND(n,i)添加n个元素,值和i下标值得元素相等。
DECLARE
TYPE ename_table_type IS VARRAY(10) OF % TYPE;
ename_talbe ename_table_type;
BEGIN
ename_table := ename_table_type( ‘MARY’ );
ename_(5, 1) ;
dbms__line( ‘ ALL count is : ‘ || ename_ );
END
TRIM 用于从集合尾部删除元素。
TRIM,和TRIM(n)两种格式。
用法同理EXTEND。
DELETE用于删除集合的元素。
只适用于嵌套表和索引表。
三种引用格式,DELETE删除所有元素,DELETE(n)删除几个钟的下标为n的元素,DELETE(m ,n)
删除从m到n之间的元素。
DECLARE
TYPE ename_table_type IS VARRAY(20) OF VARCHAR2(12);
ename_table ename_talbe_type;
BEGIN
ename_talbe(2) = ‘Scott’;
ename_table(4) = ‘Mary’;
ename_talbe(10) = ‘Helen’;
ename_(10);
dbms__line( ‘ The current count is : ‘ || ename_);
END
17.2 集合的赋值
SET用于集合赋值,也可以取消某几个中的重复元素,再者当用于集合赋值的时候,需要两
个结合的属性完全一致。
declare
type nt_table_type is table of number;
nt_table nt_table_type := nt_table_type(1, 2 ,2 ,3 ,4 ,5 );
result_table nt_table_type;
begin


发布评论