编写pl/sql包并执行包中的过程和函数

 

包用于在逻辑上组合过程和函数,它由包规范和包体两部分组成。

①使用create package语句来编写包的规范。

--包的规范
create package sp_package is
 procedure update_sal(name varchar2,newSal number);
 function annual_income(name varchar2) return number;
end;

可以看到上面的这个例子是包规范,它声明了一个存储过程和一个函数。

包的规范并没有对过程和函数作具体的实现。

②由于包的规范并没有存储过程和函数的具体实现,所以需要创建包体来实现过程和函数

   使用create package body来创建包体

--创建包体
create package body sp_package is
--存储过程
procedure update_sal(name varchar2,newSal number)
is
begin
 update emp set sal=newSal where ename=name;
end;
--函数
function annual_income(name varchar2)
return number is
annual_salary number;
begin
 select sal*12+nvl(comm,0) into annual_salary from emp
 where ename=name;
 return annual_salary;
end;
end;

注意:在调用包中的过程和函数时,需要带上包的名字在函数名之前,包名和函数名之间用英文实心点。

--调用存储过程

exec sp_package.update_sal('SCOTT',120);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值