--创建对象类型
create or replace type emp_typ as object (
id number,
name varchar2(30),
sal number,
comm number,
member procedure change_comm(new_comm number),
member function get_info return varchar2
) ;
--创建对象类型构造函数定义
create or replace type body emp_typ is
member procedure change_comm(new_comm number)
is
begin
comm:=new_comm;
end;
member function get_info return varchar2
is
v_info varchar2(30);
begin
v_info:='姓名:'||name ||' 工资:'||sal;
return v_info;
end;
end;
--创建带类型的表
create table detail (empt emp_typ,tel number,addr Varchar2(20))
--插入数据
insert into detail values (emp_typ(6666,'yangliping',5000,3000),13675047974,'shanghai caobao')
--更新数据
update detail set empt=emp_typ(7777,'yangliing',3000,2000) where tel=13675047974
--查询数据
select * from detail
结果:
EMPT.ID EMPT.NAME EMPT.SAL EMPT.COMM TEL ADDR
6666 yangliing 8000 5000 13833338888 北京
7777 yangliing 3000 2000 13675047974 shanghai caobao
--删除对象表数据
delete from detail where tel=13675047974