Oracle复合数据类型(5)

发表于:2007-06-22来源:作者:点击数: 标签:
集合的方法 除了构造函数外,集合还有很多内建函数,这些函数称为方法。调用方法的语法如下: collection.method 下表中列出 oracle 中集合的方法 方法 描述 使用限制 COUNT 返回集合中元素的个数 DELETE 删除集合中所有元素 DELETE() 删除元素下标为x的元素

   
  集合的方法
  
  除了构造函数外,集合还有很多内建函数,这些函数称为方法。调用方法的语法如下:
  
  collection.method
  
  下表中列出oracle中集合的方法

  方法      描述                                      使用限制
  COUNT     返回集合中元素的个数
  DELETE     删除集合中所有元素
  DELETE()    删除元素下标为x的元素,如果x为null,则集合保持不变               对VARRAY非法
  DELETE(,)   删除元素下标从X到Y的元素,如果X>Y集合保持不变                 对VARRAY非法
  EXIST()    如果集合元素x已经初始化,则返回TRUE, 否则返回FALSE
  EXTEND     在集合末尾添加一个元素                             对Index_by非法
  EXTEND()    在集合末尾添加x个元素                             对Index_by非法
  EXTEND(,)   在集合末尾添加元素n的x个副本                          对Index_by非法
  FIRST     返回集合中的第一个元素的下标号,对于VARRAY集合始终返回1。
  LAST      返回集合中最后一个元素的下标号, 对于VARRAY返回值始终等于COUNT.
  LIMIT     返回VARRY集合的最大的元素个数,对于嵌套表和对于嵌套表和Index_by为null     Index_by集合无用
  NEXT()     返回在元素x之后及紧挨着它的元素的值,如果该元素是最后一个元素,则返回null.
  PRIOR()    返回集合中在元素x之前紧挨着它的元素的值,如果该元素是第一个元素,则返回null。
  TRI M     从集合末端开始删除一个元素                           对于index_by不合法
  TRIM()     从集合末端开始删除x个元素                           对index_by不合法
  
  关于集合之间的比较
  
  集合不能直接用于比较,要比较两个集合,可以设计一个函数,该函数返回一个标量数据类型。
  
  IF stock_list1>stock_list2 ----非法
  IF sort_collection(stock_list1)>sort_collection(stock_list2) THEN --合法
  
  但可以比较在集合内的两个元素。

原文转自:http://www.ltesting.net