在使用Oracle的集合方法時,需要注意以下幾點:
1. 不能在SQL語句中調用集合的方法
2. EXTEND和TRIM不能用於關聯數組
3. EXISTS, COUNT, LIMIT, FIRST, LAST, PRIOR和NEXT是函數;EXTEND, TRIM和DELETE是過程
4. EXISTS, PRIOR, NEXT, TRIM, EXTEND和DELETE一個集合下標作為參數,通常是整數,但也可以是關聯數組使用的字符串
5. 只有EXISTS可以應用於NULL集合,其他方法應用於NULL集合,PL/SQL會產生COLLECTION_IS_NULL錯誤
EXISTS方法,检查元素是否存在
COUNT方法,获取集合的元素个数
LIMIT方法,获取集合的最大元素个数
× 对于内嵌表和关联数组,因为没有声明大小,所以LIMIT返回NULL值
FIRST和LAST方法,获取集合的首下标和尾下标
PRIOR和NEXT方法,获取前一个元素或后一个元素的下标
EXTEND方法,增加集合的元素
EXTEND有3中形式
EXTEND: 追加一个NULL元素
EXTEND(n): 追加n个NULL元素
EXTEND(n, i): 追加n个第i个元素
TRIM方法,减少集合的元素个数
两种形式:
TRIM:在集合尾部删除一个元素
TRIM(n):在集合尾部删除n个元素
DELETE方法,删除集合的元素
不带参数的DELETE会删除所有元素,并设置COUNT为0
DELETE(n)会删除内嵌表或以数值为主键的关联数组的第n个元素
DELETE(m,n)会删除内嵌表或关联数组的所有范围在m..n之间的元素,如果m>n,那么DELETE(m,n)不起作用
附与集合相关的异常