【问题标题】:Oracle : Nested table inside a typeOracle:类型内的嵌套表
【发布时间】:2020-03-23 14:21:15
【问题描述】:

我需要创建具有 O_BIEN 属性的表。 O_BIEN 类型包含一个 T_HABITANT 类型的嵌套表。

这是我的代码:

CREATE OR REPLACE TYPE O_HABITANT AS OBJECT (
    estmajeur CHAR(1),
    lien      VARCHAR(10)
);
\

CREATE OR REPLACE TYPE T_HABITANT AS TABLE OF O_HABITANT;
\

CREATE OR REPLACE TYPE O_BIEN AS OBJECT (
    surfacetotale NUMBER(3, 2),
    nombrepices   VARCHAR(2),
    habitant      T_HABITANT
);
\

CREATE TABLE FISC (
    id NUMBER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
    bien O_BIEN
)NESTED TABLE bien STORE AS NST_BIEN;

我有以下错误:

ORA-22912: 指定的列或属性不是嵌套表类型” *原因:为列或属性指定了存储子句 这不是嵌套表列或属性。 *操作:指定一个有效的嵌套表列或属性。

那么,如何将 O_BIEN 的 habitant 属性指定为嵌套表呢?

【问题讨论】:

标签: sql oracle plsql nested-table


【解决方案1】:

当我用别名指定完整的列名时,这对我有用:

create table fisc (id number primary key, bien o_bien) 
  nested table bien.habitant store as bien_habitant_store;

dbfiddle with test

【讨论】:

    猜你喜欢
    • 2015-06-12
    • 1970-01-01
    • 2013-05-23
    • 2014-01-06
    • 2012-03-16
    • 2016-08-07
    • 1970-01-01
    • 1970-01-01
    • 2018-06-16
    相关资源
    最近更新 更多