以前都是断断续续的看的oracle操作集合方法,比较片面,网上搜了一把,做个总结:
集合方法 :ORACLE 提供的用于操纵集合变量的内置函数或过程 , 其中 EXISTS,COUNT,LIMIT,FIRST,NEXT,FRIOR 和 NEXT 是函数
而 EXTEND,TRIM 和 DELETE 则是过程
集合方法只能在 PL/SQL 语句中使用 , 不能在 SQL 语句中使用 .
集合方法 EXTEND 和 TRIM 只适用于嵌套表和 VARRAY, 而不适合于索引表
1.EXISTS: 用于确定集合元素是否存在
2.COUNT: 用于返回当前集合变量中的元素总个数 .
3.LIMIT: 用于返回集合元素的最大个数 . 因为嵌套表和索引表的余数个数没有限制 , 返回 NULL
对于 VARRAY 来说,该方法返回 VARRAY 所允许的最大元素个数
4.FIRST 和 LAST:FIRST 用于返回集合变量第一个元素的下标 , 而 LAST 方法则用于返回集合变量最后一个元素的下标
5.FRIOR 和 NEXT:PRIOR 返回当前集合元素的前一个元素的下标 , 而 NEXT 方法则用于返回当前集合元素的后一个元素的下标
6.EXTEND: 用于扩展集合变量的尺寸 , 并为它们增加元素 . 只适用于嵌套表和 VARRAY.
三种调用格式 :EXTEND,EXTEND(N),EXTEND(N,I): 添加 N 个元素 , 值与第 I 个元素相同
7.TRIM: 用于从集合尾部删除元素 , 有 TRIM 和 TRIM(N) 两种调用格式 .
只适用于嵌套表和 VARRAY
8.DELETE: 删除结合元素 , 但该方法只适用于嵌套表和索引表 , 不适用于 VARRAY.
有 DELETE,DELETE(N),DELETE(M,N) 三种调用方式 .
DETELE(M,N) 删除集合变量从 M 到 N 之间的所有元素