视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Oracle面向对象编程OOP
2020-11-09 10:32:53 责编:小采
文档


自Oracle9i以来,Oracle就不再是单纯的关系数据库管理系统,它在关系数据库模型的基础上,添加了一系列面向对象的特性。Oracle9i

Oracle面向对象编程OOP

[日期:2014-01-05] 来源:Linux社区 作者:pursuer211 [字体:]

自Oracle9i以来,Oracle就不再是单纯的关系数据库管理系统,它在关系数据库模型的基础上,添加了一系列面向对象的特性。Oracle9i就号称面向对象数据库。Oracle的对象体系遵从面向对象思想的基本特征,许多概念同C++、JAVA中类似,具有继承,,重载,多态等特征,但又有自己的特点。

为什么要引入对象模型?部件可重用和简化复杂的应用程序。

下面详细介绍下Oracle面向对象编程。

1 面向对象类型TYPE

在PL/SQL语言中,面向对象的程序设计是基于对象类型。

1.1 面向对象类型定义语法

对象类型的定义包括对象类型头(或称为对象规范,specification)和对象类型体(body)。对象类型头包括对象类型的属性、函数和过程的声明,而对象类型体则是对象类型具体的实现,即函数和过程的实现。所以如果对象类型中只有属性,不含函数和过程的话,就只要声明对象类型头就可。

对象类型头声明语法:

CREATE OR REPLACE TYPE type_name AS OBJECT(
--属性的声明
propertyname1 TYPE1,
propertyname2 TYPE2,
...
properynamen TYPEn,

--函数的声明
member function funcname1(param1 TYPE1, ...) return TYPE11,
static function funcname2(param1 TYPE2, ...) return TYPE22,
...

--过程的声明
member procedure procname1(param1 TYPE1, ...),
static procedure procname2(param1 TYPE2, ...),
...
);

对象类型体定义语法:

CREATE OR REPLACE TYPE BODY type_name --No 'AS OBJECT'
AS --NO 'BEGIN'
member function funcname1 return TYPE11
IS
//变量定义
BEGIN
//处理过程
return var1;
END funcname1;
static function funcname2 return TYPE22
IS
//变量定义
BEGIN
//处理过程
return var2;
END funcname2;
...
member procedure procname1(param1 TYPE1,...)
IS
//变量定义
BEGIN
//处理过程
END procname1;
static procedure procname2(param1 TYPE2,...)
IS
//变量定义
BEGIN
//处理过程
END procname2;
...
END;

下载本文
显示全文
专题