日期:2014-05-16  浏览次数:20387 次

oracle type类型

--创建类型说明***********************************************************

create or replace type dept_type as object(

--成员变量

h_deptno number(2),

h_dname ?varchar2(14),

h_loc varchar2(13),

--成员函数、过程

member procedure changedept(name in varchar2,loc in varchar2),

member function getdeptno return number,

member function gedtname ? return varchar2,

member function getloc ? ?return varchar2);

--类型创建完成

--创建类型包体

create or replace type body dept_type as

member procedure changedept(name in varchar2,loc in varchar2) is

begin

? h_dname := name;

? h_loc ? := loc;

end changedept;

member function getdeptno return number as

begin

return h_deptno;

end getdeptno;

member function gedtname return varchar2 as

begin

return h_dname;

end gedtname;

member function getloc return varchar2 as

begin

return h_loc;

end getloc;

end;

--包体创建完毕-----------------------

--使用类型

declare

?dept1 dept_type;

begin

? dept1 := dept_type(10,'chenchaoyang','chenchaoyang');

? dept1.changedept('supan','supan');

? dbms_output.put_line(dept1.getdeptno);

? dbms_output.put_line(dept1.getloc);

end;

--调用完毕*******************************************************