create or replace type emp_obj as object(
empno number(4), --员工编号属性
ename varchar2(10), --员工名称属性
job varchar(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;
PL/SQL的对象定义中包含了成员方法时,需要在类型体中定义成员方法的代码,因此代码中出现了两个create方法。
当这个对象被创建后,就可以根据这个对象创建一个对象表,代码如下所示:
create table emp_obj_tab of emp_obj;
emp_obj_tab表中的每一行都是一个对象的实例,这运行开发人员使用面向对象的方式对这个表进行操作。