Oracle中的面向对象OOP
2008-12-08 13:02:00 来源:WEB开发网http://www.blogjava.net/improviser/archive/2007/10/02/150166.html
关系数据库在不断地发展时,许多数据库引入了面向对象的思想,这其中以Oracle为代表,Oracle9i就号称面向对象数据库。 自Oracle9i以来,Oracle就不再是单纯的关系数据库管理系统,它在关系数据库模型的基础上,添加了一系列面向对象的特性。Oracle的对象体系遵从面向对象思想的基本特征,许多概念同C++,JAVA中类似,具有继承,重载,多态等特征,但又有自己的特点。
1、 Oracle面向对象的最基本元素是它的对象类型——Type。
下面开始写自定义对象类型( as object 必须关键字)
1createorreplacetypeADDRESSas object
2 (
3 PROVINCEvarchar(10 ),
4 CITYvarchar(20 ),
5 STREETvarchar(30 )
6);
创建表并使用以上对象类型ADDRESS
1createtable STUDENTOBJ
2 (
3 STUNAMEvarchar(20 ),
4 STUADD ADDRESS
5 );
6
7 向表中插入数据:
8insertintoSTUDENTOBJvalues('improviser',ADDRESS('广东省','广州市','江海大道');
通过别名对表进行查询
1select S.STUNAMES.ADDRESS.PROVINCES.ADDRESS.CITY
2 S.ADDRESS.STREET from STUDENTOBJS;
从上面的测试代码,可以很容易看到其与面向对象语言(比如Java)的差异,不必使用new创建实例,也没有了默认无参数构造器,默认使用定义的属性作为构造器参数,足以描述各种实体。另外,Type的属性没有private,protected,public的说法,所有的属性调用者都可以访问,即都是public。
- ››oracle 恢复误删除的表和误更新的表
- ››Oracle分页查询排序数据重复问题
- ››Oracle创建dblink报错:ORA-01017、ORA-02063解决
- ››Oracle 提高SQL执行效率的方法
- ››Oracle 动态查询,EXECUTE IMMEDIATE select into...
- ››Oracle 11g必须开启的服务及服务详细介绍
- ››oracle性能34条优化技巧
- ››oracle数据库生成随机数的函数
- ››Oracle 数据库表空间容量调整脚本
- ››oracle单库彻底删除干净的方法
- ››Oracle创建表空间、创建用户以及授权、查看权限
- ››oracle 中 UPDATE nowait 的使用方法
更多精彩
赞助商链接