本文内容
- EXISTS 方法
- COUNT 方法
- LIMIT 方法
- FIRST 和 LAST 方法
- PRIOR 和 NEXT 方法
- EXTEND 方法
- TRIM 方法
- DELETE 方法
collection 方法是一个内置的 PL/SQL 子程序,可以返回
collection 信息,或是在
collection 上执行操作,很方便。
你可以通过点记号来调用 collection 方法。语法如下图所示: 图1 Collection Method 调用不能在 SQL 语句调用
collection 方法。当
collection 为空时,你只能使用
EXISTS 方法,使用其他方法都会抛出
COLLECTION_IS_NULL 异常。
EXISTS 方法
若
collection 中第
n 个元素存在,则
EXISTS(n) 返回
TRUE;否则,返回
FALSE。
EXISTS 方法结合
DELETE 方法,会把
collection 变成稀疏 nested tables(sparse nested tables)。通过
EXISTS 方法,避免引用一个不存在的元素,从而产生异常。当传递一个超出范围的标值时,
EXISTS 方法返回
FALSE,而不是产生
SUBSCRIPT_OUTSIDE_LIMIT 异常。
示例1:演示检查元素是否存在DECLARE TYPE NumList IS TABLE OF INTEGER; n NumList := NumList(1,3,5,7);BEGIN n.DELETE(2); -- Delete the second element IF n.EXISTS(1) THENDBMS_OUTPUT.PUT_LINE("OK, element #1 exists."); END IF; IF n.EXISTS(2) = FALSE THENDBMS_OUTPUT.PUT_LINE("OK, element #2 was deleted."); END IF; IF n.EXISTS(99) = FALSE THENDBMS_OUTPUT.PUT_LINE("OK, element #99 does not exist at all."); END IF;END;/
COUNT 方法
COUNT 返回
collection 中元素的当前数量。当你不知道
collection 中有多少元素时,很有用。例如,当你把获取的表的一列,放到一个
nested table 时,元素的数量取决于结果集的大小。对于
varray,
COUNT 总是等于
LAST。通过
EXTEND 和
TRIM 方法,你可以增加或减少
varray 的大小,因此,
COUNT 值是变化的,取决于
LIMIT 方法的值。对于
nested tables,
COUNT 方法通常等于
LAST 方法。然而,若你从
nested table 删除元素,则
COUNT 小于
LAST。当你整理元素时,
COUNT 会忽略已删除的元素。使用不带参数的
DELETE 方法会设置
COUNT 为
0。备注:
FIRST 方法和
LAST 方法返回最大和最小的索引数。后面说明。
Oracle 11g Release 1 (11.1) Data Pump 技术Oracle 11g Release 1 (11.1) 函数为表的某个字段进行字母数字组合编码相关资讯 Oracle储存过程 本文评论 查看全部评论 (0)