首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ORACLE VARRAY选择输出

ORACLE VARRAY选择输出
EN

Stack Overflow用户
提问于 2014-10-16 00:27:32
回答 1查看 564关注 0票数 2

我对VARRAY in ORACLE有个问题

当我尝试在表中选择varray类型时,SQL Developer中的输出将显示

代码语言:javascript
复制
VARRAY_TYPE
__________________________________________________
USERNAME.VARRYA_TYPE('TYPE1','TYPE2','TYPE3')

谁能给我指出摆脱"USERNAME.VARRAY_TYPE()“的方法,并提取结果

代码语言:javascript
复制
VARRAY_TYPE
__________________________________________________
'TYPE1','TYPE2','TYPE3'

这里给出了我的varray和表示例,以供参考:

代码语言:javascript
复制
CREATE TYPE varray_TYPE AS VARRAY(3) OF CHAR(20)
/

CREATE TYPE table_TYPE AS OBJECT (

tableID         number (6),
varray_var      GENRE_TYPE  
)
/

CREATE TABLE table1 as table_type(
tableID PRIMARY KEY
)
/

AND MY SELECT QUERY IS:

SELECT VARRAY_VAR AS VARRY_TYPE 
FROM TABLE table1
/

提前谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-10-16 01:36:38

使用cross jointable()对结果进行分解,然后用listagg重新聚合结果以添加自定义格式。

代码语言:javascript
复制
select
    tableID,
    listagg(trim(column_value), ',')
        within group (order by column_value) varray_type
from table1
cross join table(table1.varray_var)
group by tableID

TABLEID   VARRAY_TYPE
-------   -----------
1         TYPE1,TYPE2,TYPE3

我必须对您的语法做一些小的更改,才能使其正常工作:

代码语言:javascript
复制
CREATE TYPE varray_TYPE AS VARRAY(3) OF CHAR(20)
/

CREATE TYPE table_TYPE AS OBJECT (
tableID         number (6),
varray_var      varray_TYPE  
)
/

CREATE TABLE table1 of table_type(
tableID PRIMARY KEY
)
/

insert into table1 values(1, varray_type('TYPE1','TYPE2','TYPE3'));

SELECT VARRAY_VAR AS VARRY_TYPE 
FROM table1;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26394354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档