创建类型为表的PLS错误

时间:2012-11-10 11:09:24

标签: oracle oracle11g

我正在以这种方式创建类型:

CREATE OR REPLACE TYPE t_type1 AS OBJECT
(
  -- fields
);

CREATE OR REPLACE TYPE t_user AS OBJECT
(
  -- fields  
) NOT FINAL;

CREATE OR REPLACE TYPE t_type2 AS TABLE OF t_type1;

CREATE OR REPLACE TYPE t_superuser UNDER t_user
(
  -- fields
  field t_type2
);

执行“创建或替换类型t_type2 AS表t_type1”时出现错误; - 它返回语法错误。因此,我无法完成最后的陈述。

1 个答案:

答案 0 :(得分:4)

此构造CREATE OR REPLACE TYPE othertype ( field typetable )在语义上不正确。 您可以按如下方式创建第一个类型:

SQL>  CREATE OR REPLACE TYPE typetable AS TABLE OF number; -- for example 
  2  /

Type created

第二个如下:

SQL> CREATE OR REPLACE TYPE othertype as table of typetable;
  2  /

Type created

或者,如果您想创建对象类型:

SQL> create or replace type othertype as object
  2  (
  3    field typetable
  4  )
  5  /

Type created