发布日期:2015-11-05 10:54 来源: 标签: 数据库 oracle教程 oracle函数 CARDINALITY及COLLECT集合函数
本章我们主要学习oracle数据库实际应用中常用集合函数有哪些?下面我们就做一下具体讲解,希望大家多多支持中国站长网络学院。
注:集合函数操作嵌套表和VARRAY
1、CARDINALITY
返回嵌套表中的元素的数目
CARDINALITY(<nested_table>) 
eg:
See Nested Table and Collections Demos 

2、COLLECT
取任何类型的列,并在选定的行中创建一个输入类型的嵌套表
COLLECT(<column>) 
eg:
CREATE TYPE phone_book_t AS TABLE OF phone_list_typ;
/

SELECT CAST(COLLECT(phone_numbers) AS phone_book_t)
H FROM customers; 

3、POWERMULTISET
将嵌套表并返回一个嵌套表格嵌套表包含所有非空子集(称为submultisets)嵌套表的输入
POWERMULTISET(<expression>) 
eg:
CREATE TYPE cust_address_tab_tab_typ
AS TABLE OF cust_address_tab_typ;

SELECT CAST(POWERMULTISET(cust_address_ntab)
AS cust_address_tab_tab_typ)
FROM customers_demo; 

4、POWERMULTISET_BY_CARDINALITY
将嵌套表和基数和返回一个嵌套表格嵌套表包含所有非空子集(称为submultisets)的嵌套表的指定基数
POWERMULTISET_BY_CARDINALITY(<expression>, <cardinality>) 
eg:
UPDATE customers_demo
SET cust_address_ntab = cust_address_ntab MULTISET UNION cust_address_ntab;

SELECT CAST(POWERMULTISET_BY_CARDINALITY(cust_address_ntab, 2)
AS cust_address_tab_tab_typ)
FROM customers_demo; 

5、SET
将嵌套表转换为一组,通过消除重复
SET(<nested_table>)
eg: 
SELECT customer_id, SET(cust_address_ntab) address
FROM customers_demo; 



相关评论

专题信息
    ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;本教程主要是针对oracle应用过程中我们常用的函数进行深入讲解,让大家能够通过代码实例更快、更有效的掌握oracle函数,希望对大家有所帮助。