1.过程(procedure)
what:执行特定的操作
why:封装代码,提高代码重用率,易于维护。
style:可以返回多个数据(输入参数IN,输出参数OUT)
sample:
create procedure name_pro (IN partment1 datatype, IN partment2 datatype, out partment2 datatype)
is
begin
---sql/plsql执行代码
end;
/
2.函数
what:执行数据操作,返回特定的数据
why:封装代码,提高代码重用率,易于维护。
style:使用RETTUEN语句,返回一个数据
sample
create function name_fun (partment1 datatype, partment2 datatype)
retuen datatype is
re_name datatype;
begin
--执行代码
return re_name;
end;
/
3.包
what:对函数和过程的逻辑封装
why:封装代码,提高代码重用率,易于维护。
style:由包规范(定义变量,常量,函数和过程)和包体(实现过程和函数)构成
sample:
create package name_pack is
--定义定义变量,常量,函数和过程
procedure pro_name(...);
function fun_name(...);
end;
/
create package body name_pack is
create procedure name_pro (IN partment1 datatype, IN partment2 datatype, out partment2 datatype)
is
begin
---sql/plsql执行代码
end;
/
create function name_fun (partment1 datatype, partment2 datatype)
retuen datatype is
re_name datatype;
begin
--执行代码
return re_name;
end;
/
--调用包
call name_pack.partment();