CREATE TYPE name_type  AS OBJECT(  --创建name_type对象类型
          first_name  VARCHAR2(10) ,
        Last_name  VARCHAR2(10)
)

CREATE TYPE address_type  AS OBJECT(  --创建address_type对象类型
      city    VARCHAR2(20) ,
     Street   VARCHAR2(20) ,
      zip     NUMBER(6)
)
CREATE TYPE  cust_type AS OBJECT (  --创建客户对象类型
  custid NUMBER(5),
  name   name_type,
address address_type);CREATE TABLE cust OF cust_type --创建客户对象表
(custid primary key)CREATE TYPE goods_type AS OBJECT( --创建货物类型
  gno  NUMBER(3) ,
  gname VARCHAR2(20) ,
price    NUMBER(6,2))CREATE TABLE goods OF goods_type – 创建货物对象表
(gno PRIMARY KEY);///前面都能通过但在创建订单对象类型报"创建的类型带有编译错误。
CREATE TYPE order_type AS OBJECT –创建订单对象类型
( orderid  NUMBER(3) ,
  customer REF cust_type ,
  orderdate DATE ,
  qty      NUMBER(5) ,
  gno      NUMBER(3));请问如何更改? 请问自定义类型能否引用自定义类型

解决方案 »

  1.   

    SQL> CREATE TYPE name_type  AS OBJECT(  --创建name_type对象类型
      2            first_name  VARCHAR2(10) ,
      3          Last_name  VARCHAR2(10)
      4  )
      5  ;
      6  /Type createdSQL> create type ref_type as object(ref name_type);
      2  /Type createdSQL> 我这边可以
      

  2.   

    我想应该是在创建订单对象类型时该
      customer REF cust_type , 有错误吧
      
      

  3.   

    直接customer cust_type,
    去掉 ref