1、语法
createorreplacefunction函数名(参数1in|out类型,参数2in|out类型)retrun结果类型
as|is
--定义变量
begin
return变量;--(变量的类型一定是跟return的结果类型保持一致)
end;
2、应用
(1)声明fun_emp_totalsal存储函数,查询指定员工的年薪
create or replace functionfun_emp_totalsal(eno number)
return number
as
psal number;
begin
select sal*12+nvl(comm,0) into psal from emp where empno = eno;
return psal;
end;
调用:
declare
totalSal number;
begin
totalSal
:=fun_emp_totalsal(7788);
dbms_output.put_line(totalSal);
end;
运行:
(2)声明pro_emp_totalsal存储过程,查询指定员工的年薪
createorreplaceprocedurepro_emp_totalsal(enonumber,totalsaloutnumber)
as
begin
selectsal*12+nvl(comm,0)intototalsalfromempwhereempno=eno;
end;
(3)声明fun_emp_dname存储函数,根据部门编号查询出部门名称
@H_502_185@declare
@H_502_185@pnamedept.dname%type;
@H_502_185@begin
@H_502_185@pname:=fun_emp_dname(10);
@H_502_185@dbms_output.put_line(pname);
;
(4)在select语句中调用存储函数
selectempno,ename,fun_emp_dname(deptno)fromemp;