为什么我不能像这样使用 Oracle 用户定义类型?

2023-12-22

在 Oracle 包中我定义了一个类型

type setTable is table of my_sets.pkey%type;

在包声明中(非主体部分)。这pkey引用的列是number(38)。然后在包体的函数中我有

...
with d as (select column_value from table(sets)),
...

where sets是类型函数的参数settable。此行无法编译,并出现错误“ORA-22905:无法访问非嵌套表项中的行”。我可以做什么来解决这个问题?


select 语句是 SQL 而不是 PL/SQL,并且 SQL 引擎只能使用服务器上定义的类型,如下所示:

create type setObj is object (<attributes>);
create type setTable is table of setObj;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我不能像这样使用 Oracle 用户定义类型? 的相关文章

随机推荐