对象表(ObjectTable)

对象表:

表中的每一行代表一个对象

*包含对象标识符(OID);

*REF操作符用于引用行对象,找出表中每条记录的oid的值

*DREF操作符返回行对象的值 

____________________

创建一个对象表:

1.首先创建一个对象类型:

   create or replace Type MingXiType as Object

   (

      GoodsId varchar(15),

      IntCount int,

      Provider varchar(13)

   ) not final;

2.根据基类型,来创建一个对象表

   create table ObjectTable1 of MingXiType;

3.向对象表中插入数据

   insert into ObjectTable1 values ('3001', 100, 's001');

   insert into ObjectTable1 values ('3002', 300, 'hoo2');

4.对象里记录的OID:

   select ref(a) from ObjectTable1 a ;   --ref(对象表的别名)

5.Scope is Office(表名):范围仅限于office这张表

---------------------------------------------------

eg:create or replace type OfficeType as Object

     (

       Id varchar(10),

       TypeName varchar(10)

     );

  

     create table office of officetype ;  --对象表

     insert into OfficeType values ( '0001' , '财务科');

     insert into OfficeType values ( '0002' , '人事科');

     insert into OfficeType values ( '0003' , '伙食科');

     insert into OfficeType values ( '0004' , '后勤科');

  

     create table Worker     --员工表

     (

        WorkerID varchar(10) primary key,

        WorkerName varchar(10),

(科室字段)WorkerOffice ref OfficeType Scope is Office, --用对象表定义了外键(Office)

        Phone varchar(16)

     );

     --这个科室字段,引用OfficeType(科室类型)

     --科室类型OfficeType的对象是Office(科室的实例)

     --也就是说它受限于office这张表

     --员工表就关联上了科室表(office),也就定义了外键,这是通过对象表定义的外键

-----------------------------------------------------

     向员工表中插入数据:

     insert into Worker select 'c001' , '张小明' , Ref(o)  , '010-1234567'

                                   from Office o

                                   where ID = '0001';

----------------------------------------------------

     value() 函数是用来显示对象的

     select value(o) from Office o;

    

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值