存储过程
是对plsql代码的封装,重复使用的代码封装
目的:
提高开发效率
提高运行性能
语法
create or replace procedure 存储过程名称(参数名称 in/out 参数数据类型)
as/is
声明变量
begin
代码块
end;
示例:
-- 计算指定员工的年薪,并返回
create or replace procedure year_sal(v_empno in number,v_year out number)
is
begin
select sal*12+nvl(comm,0) into v_year from emp where empno=v_empno;
end;
存储函数
是对plsql代码的封装,重复使用的代码封装,存储函数必须有返回值
目的:
提高开发效率
提高运行性能
语法
create or replace procedure 存储过程名称(参数名称 in/out 参数数据类型) return 返回类型
as/is
声明变量
begin
代码块
返回语句—return 返回数据
end;
示例:
-- 计算指定员工的年薪,并返回
create or replace function year_sal_fun(v_empno in number) return number
is
year_sal number:=0;
begin
select sal*12+nvl(comm,0) into year_sal from emp where empno=v_empno;
return year_sal;
end;