【发布时间】:2013-05-01 06:19:48
【问题描述】:
我创建了一个 VARRAY 类型:
CREATE TYPE my_array AS varray(1024) OF VARCHAR2(512);
我知道我可以使用my_array() 从值列表中创建my_array 的实例:
SELECT my_array('foo', 'bar');
但是有没有办法根据查询结果创建一个实例?我在想这样的事情:
SELECT my_array(SELECT table_name FROM all_tables WHERE owner = 'SCOTT')
FROM dual;
或者,如果失败,则返回 my_array 的聚合:
SELECT my_array_agg(table_name) FROM all_tables WHERE owner = 'SCOTT';
这在 Oracle 中可行吗?
【问题讨论】:
标签: arrays oracle subquery aggregate varray