Oracle - 如何从VARRAY读取

Ant*_*Kan 8 sql oracle varray

我的表中有一个包含VARRAY VARCHAR2的列,所以我想创建一个select语句,它给我所有的列和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;
Run Code Online (Sandbox Code Playgroud)

谢谢!

Mah*_*kar 6

你想要的就是这个.

SELECT t.v1, t.v2, nt.COLUMN_VALUE
FROM table1 t, TABLE(t.v3) nt
Run Code Online (Sandbox Code Playgroud)

结果

V1  V2  COLUMN_VALUE
a   b   c
a   b   d
a   b   e
f   g   h
f   g   i
Run Code Online (Sandbox Code Playgroud)

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

SQL小提琴