一. 存储函数
- 什么是存储函数
简单点说:就是封装了一组sql语句 ,提前编译好,存储在服务端
效率高,安全 - 与存储过程区别
存储函数 必须有且只有一个返回值
语法不同
存储函数可以用在select语句中
存储函数中一般不写输出参数 - 语法
create or replace function 函数名(参数名 输入型 in |输出型 out 数据类型 ,…) return 类型
as|is
– 声明变量
begin
– plsql语句
end; - 栗子:–获取某员工的年薪
– 输入参数:某员工 输出参数:员工的年薪
create or replace function getYearSalFun(eno in number) return number
as
yearsal number;
begin
select sal * 12 + nvl(comm,0) into yearsal from emp where empno = eno;
return yearsal;
end;
– 访问存储函数
declare
yearsal number;
begin
yearsal := getYearSalFun(7788);
dbms_output.put_line(yearsal);
end;
select getYearSalFun(7788) from dual;
select length(‘abc’) from dual;