暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 如何从多集转换中检索数据

ASKTOM 2019-01-14
240

问题描述

这是示例查询,现在如何检索col1数据 (从下面的查询中选择col1)

从表A中选择1,2,3,强制转换 (multisset (从表a中选择col1,col2) 作为对象类型);

专家解答

您可以将列传递给表运算符:

create or replace type obj as object (
  a1 int, a2 int
);
/
create or replace type obj_tab as table of obj;
/

with tab as (
  select dummy,
         cast ( 
           multiset ( 
             select 1, 2 from dual union all
             select 3, 4 from dual 
           ) as obj_tab
         ) o
  from   dual
)
  select * from tab, table ( tab.o ) ;

D O(X, Y)                                 X          Y
- ------------------------------ ---------- ----------
X OBJ_TAB(OBJ(1, 2), OBJ(3, 4))           1          2
X OBJ_TAB(OBJ(1, 2), OBJ(3, 4))           3          4


虽然,这确实带来了一个问题,为什么你首先把它加载到一个对象类型!

PS-提供LiveSQL链接时,它们应该引用您编写的脚本来演示您的问题。那里不是随机的公共脚本!
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论