PL/SQL之OOP

来源:互联网 发布:js代码格式化插件 编辑:程序博客网 时间:2024/05/19 20:43

    PL/SQL通过提供对象类型来支持面向对象的设计,对象类型是用户自定义的一种复合类型,它封装了对象的属性以及操作这些属性数据的过程和函数:

eg:

CREATE OR replace type emp_obj as object(
       empno      number(4),      -----员工编号属性
       ename      varchar2(10),   -----员工名称属性
       job        varchar2(9),    -----员工职位属性
       sal        number(7,2),    -----员工薪水属性
       deptno     number(2),      -----部门编号属性

----加薪方法
       member procedure addsalary (ratio number)
);

----定义对象类星体,实现对象方法

create or replace type body emp_obj
as
       --实现对象方法
       member procedure addsalary (ratio number)
       is
       begin
          sal := sal * (1 + ratio);
       end;
end;

 

PS:当PL/SQL的对象定义中包含了成员方法时,需要在类型体重定义成员方法的代码,因此代码中会出现两个create方法,当这个对象被创建后,就可以根据这个对象创建一个对象表:

       create table  emp_obj_tab of emp_obj;

 

0 0