Oracle - 如何从VARRAY读取

时间:2014-01-24 18:27:57

标签: 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;

谢谢!

1 个答案:

答案 0 :(得分:5)

你想要的就是这个。!

SELECT t.v1, t.v2, 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