Oracle复合数据类型(5)
添加时间: 2006-4-18 3:18:53 作者: Oracle教程 阅读次数:115 来源: http://d9soft.com
除了构造函数外,集合还有很多内建函数,这些函数称为方法。调用方法的语法如下:
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 --合法 |
但可以比较在集合内的两个元素。
上下文章:
上一篇文章: 数据库设计三大范式应用实例剖析 下一篇文章: Oracle复合数据类型(4)
相关文章:

