--函数 参数是部门编号,返回值是部门最低薪资
create or replace function fun_sal
( p_deptno emp.deptno%type --参数列表 不能写长度 number
)
return emp.sal%type
is
msal emp.sal%type;
begin
select min(sal) into msal from emp where deptno=p_deptno;
return msal;
end;
--调用函数
declare
pdno emp.deptno%type;
misal emp.sal%type;
begin
pdno:=20;
misal:=fun_sal(pdno);
dbms_output.put_line(misal);
--编写带参数的存储过程
--传入部门编号传出该部门的人数
create or replace procedure usp_empnum
(
pdeptno in number:=10,--部门编号 需要调用时转入,默认为10部门
empnum out number, --统计出的部门的人数
avgsal out number --统计出的平均工资
)
is
begin
select count(empno) into empnum from emp where deptno=pdeptno;
select avg(sal) into avgsal from emp where deptno=pdeptno;
end ;
declare
dno number(2,0);
eno number(2,0);
avgsal number(7,2);
begin
dno:=30;
usp_empnum(dno,eno,avgsal);
--输出参数eno里的值
dbms_output.put_line(dno||'部门的人数为:'||eno||'平均工资:'||avgsal);
end;
create or replace procedure usp_empavgsal
(
pdeptno int number:=10,
avgsal out number
)
is
begin
select avg(sal) into avgsal from emp where deptno =pdeptno;
end
declare