sql – Oracle – 如何从VARRAY读取

我的表中有一列包含VARRAY的VARRAR2,
所以我想创建一个select-statement,它给我所有的列
以及VARRAY的所有对象紧挨着彼此,
有可能这样做吗?

例:

CREATE TYPE arr AS VARRAY(5) OF VARCHAR2(10);

CREATE TABLE table1(
    v1 VARCHAR2(10)
    v2 VARCHAR2(20)
    v3 arr);

SELECT t.v1,t.v2,??? FROM table1 t;

谢谢!

解决方法

你想要的就是这个.
SELECT t.v1,nt.COLUMN_VALUE
FROM table1 t,TABLE(t.v3) nt

结果

V1  V2  COLUMN_VALUE
a   b   c
a   b   d
a   b   e
f   g   h
f   g   i

包括t1.v3也会给出逗号分隔值.

SQL Fiddle

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...