Oracle中的面向对象OOP
2008-12-08 13:02:00 来源:WEB开发网4、嵌套表
嵌套表是表中之表,一个嵌套表是某些行的集合,它在主表中表示为其中的一列。对主表中的每一条记录,嵌套表可以包含多个行。
1 定义嵌套表方法:
2createorreplacetypeADDRESS_TABLEastableof ADDRESS;
3
4 基本对象类型、创建表、查询和插入数据都跟上面可变数组一样
5
6嵌套表更新(table转化为表再利用表别名操作列进行更新)
7updatetable(selectS.STUADDSfromSTUDENTSwhere
8 S.STUNAME = ' improviser ' )AD set AD.PROVINCE = ' 北京 ' where city = ' 广州 ' ;
9
10 删除嵌套表记录
11 delete from table ( select S.STUADDS from STUDENTS
12 where S.STUNAME = ' improviser ' )AD where AD.city = ' 潮州 市' ;
13
比较:可变数组,查询速度快,但是更新困难得整体更新,适用与数据不修改情况,如医生处方。使用嵌套表可以对表中的表内容进行修改而无需进行整体更新操作。
4、对象表
1 首先创建对象类型
2createorreplacetypeOFFICETYPEas object
3 (
4 idvarchar(10 ),
5 typenamevarchar(20 )
6 );
7
8 将对象类型转化为对象表
9createtableofficeof officetype;
10
11 创建对象关系表(使用ref,指示OID进行对象表关联)
12createtable worker
13 (
14 workeridvarchar(10)primarykey ,
15 workernamevarchar(20 ),
16 workerofficerefofficetpeyscopeis office,
17 phonevarchar(20 )
18 );
19
20 使用deref取得关联对象表相关内容
21selectworkerid,workername,deref(w.workeroffice),phonefrom workerw
where workerid = ' C001 ' ;
22 结果为
23C001 张小明 OFFICETYPE('0001','财务科') 010-12345
24
25 使用VALUE(别名)查询对象内容
26selectvalue(o)from officeo;
27
5、对象视图
1 创建对象视图(通过OID连接dept)
2createviewdeptviewofdeptypewithobjectoid(deptno)asselect*from dept;
3createviewemp_viewasselect make_ref(deptview,deptno)deptoid,empno,ename
4 from emp;
好了,有关Oracle中面向对象的内容就简要叙述这么多了,虽然现在很少使用到,但在以后有用到之处有一定的参考作用。
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接