Oracle集合的方法

来源:互联网 发布:北京 python培训 马哥 编辑:程序博客网 时间:2024/05/22 10:31

在使用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)不起作用

 

 

附与集合相关的异常