#MULTISET

multiset
CAST ( MULTISET ( subquery ) AS type_name )

MULTISET函数将子查询subquery的结果集以集合(嵌套表)的形式返回,集合中的一个成员对应子查询返回的一行结果。MULTISET函数的返回值需要通过CAST函数转换为目标集合类型type_name。

subquery

指定的子查询。

type_name

指定转换的目标集合类型,必须是可变长数组varray或嵌套表nested table,其中:

集合的成员类型是object,object中属性的个数和子查询投影列的个数相等,第n个投影列的类型能够转换为object中第n个属性的类型。

当投影列个数为1时,集合成员类型还可以是该投影列类型可转换的类型。

示例

CREATE OR replace TYPE obj_multiset IS object(col1 INT, col2 INT, col3 INT);
/
CREATE OR replace TYPE nt_multiset IS TABLE OF obj_multiset;
/

SELECT * FROM TABLE(CAST(MULTISET(SELECT 1, 2, 3 FROM dual) AS nt_multiset));

COL1         COL2         COL3 
------------ ------------ ------------ 
           1            2            3
pdf-btn 下载文档 copy-btn 复制链接
edit-icon
反馈
coperate-icon
coperate
合作
communication-icon
communicate
交流