您需要使用 REF 的嵌套表,而不是嵌套表的 REF。
create or replace type sku_t;
create or replace type skulink_t as table of ref sku_t;
create or replace type sku_t as object(skuId varchar(12), display_name varchar(100), bundlnks skulink_t );
如何使用它的示例:
create table sku_table of sku_t nested table bundlnks store as outer_nt;
insert into sku_table values(sku_t('sku1', 'sku1', null));
insert into sku_table values(sku_t('sku2', 'sku2', null));
insert into sku_table
values(sku_t('sku3', 'sku3',
skulink_t
(
(select ref(s) from sku_table s where s.skuId = 'sku1'),
(select ref(s) from sku_table s where s.skuId = 'sku2')
)));
commit;
select deref(b.column_value).skuid skuid
from sku_table, table(bundlnks) b where skuid = 'sku3';
skuid
-----
sku1
sku2
但是一个常规的分层表可能会在 99.99% 的情况下工作得更好。