存储函数必须有返回值
1.存储函数格式:create or replace function 函数名(参数表)
return 函数值类型
as
PLSQL子程序体;
2.举例return所在位置:
调用如上存储函数,注意奖金字段要转为非空,否则输出结果为空:
3.调用函数:
存储过程,定义变量
存储函数方式
不推荐远程调试
reture number
as
begin
return
end
预控 nvl(xx,o)
存储函数
函数为一命名的存储程序,可带参数,并返回一计算值。
函数和过程的结构类似,但必须有一个return子句,用于返回函数值
---注意:当一个表达式包含null值,往往会导致得不到正确的结果,或者没有结果
所以最好的做法是使用nvl函数将空值以0代替
--查询某个员工的年收入
create or replace function queryempincome(eno in number)
return number
as
psal emp.sal%type;
pcomm emp.comm%type;
begin
---得到该员工的月薪和奖金
select sal,comm into psal,pcomm from emp where empno=eno;
--直接返回年收入
return psal*12+nvl(pcomm,0);
end;
/
一个表达式如果有空则为空,所以表达式的空都应该使用nvl或coalesce过滤掉。
存储函数语法
create [or replace] FUNCTION 函数名(参数列表)
return 函数值类型
as
plsql子程序体;
create or replace function query (eno in number) -- number是数据类型
return number --返回类型为number
as
psal emp.sal%type; -- 定义变量;
begin
select sal into psal from emp where empno = eno;
return psal*12 +nvl(empno,0); -- nvl()去空函数,如果empno为null,赋值为0
end;
1) 函数的定义 函数(Function)为一个命名的存储程序,可带参数,并返回一个计算值。函数和过程的结构类似,但必须有return 子句,用于返回函数值。
2) 存储函数必须使用return
3) 如果一个表达式中含有空值,那么这个表达式就是空值,所以要用到NVL(comm,0)域空函数
注意:在执行语法的过程中,如果有字段的值出现为空,需要用置空函数把转为0,再计算 nvl(传入参数,0)
create or replace FUNCTION 函数名字
return 返回值
AS
plsql块
调用函数
nvl(comm,0)非空函数
存储函数例子
创建存储函数的语法:
带有return用于返回函数的值