一、存储函数的定义
函数是PLSQL中另一种子程序,与存储过程不同的是,存储函数具有返回值,就像C/C++中的函数一样,可以通过函数返回某些值,我们先来看下下面定义的一个返回雇员薪资的函数:
create or replace function get_income(v_empno emp.empno%type)
return number
as
v_income emp.sal%type;
begin
select sal+nvl(comm,0) into v_income from emp where empno=v_empno;
return v_income;
end;
/
可以看到在定义函数时,和存储过程最大的区别在于在as前定义了函数的返回值类型,如上面的例子我们定义了一个返回number类型数据的存储函数。
接下来我们可以使用以下的方法使用该函数:
二、存储函数的使用
2.1 在PLSQL代码块中使用
declare
v_income emp.sal%type;
begin
v_income:=get_income(7499);
dbms_output.put_line(v_income);
end;
/
2.2 在标准SQL语句中使用函数
select get_income(7499) from dual;