一、含义
函数实际上是封装在服务器上一段PLSQL代码片断,它已经编译好了,如果客户端调用存储过程,执行效率就会非常高效,它跟存储过程没有什么本质区别,存储过程能做的函数也能做,只不过函数有返回值
二、语法
1、创建函数
create function 函数名称(参数名 in|out 参数类型,参数名 in|out 参数类型,...) return 返回的参数类型
is|as
--声明部分
begin
--业务逻辑
end;
2、修改函数
create [or replace] function 函数名称(参数名 in|out 参数类型,参数名 in|out 参数类型,...) return 返回的参数类型
is|as
--声明部分
begin
--业务逻辑
end;
3、删除函数
drop function 函数名称;
1
4、调用函数
--方式一:
select 函数名称(...) from dual;
--方式二:
declare
变量名 变量类型;
begin
变量名 = 函数名称(...);
end;
三、演示
1、创建函数
--查询指定员工的年薪
/*
参数 : 员工的编号
返回 : 员工的年薪
*/
create function func_getsal(vempno number) return number
is
vtotalsal number;
begin
select sal * 12 + nvl(comm, 0) into vtotalsal from emp where empno = vempno;
return vtotalsal;
end;
--查询员工编号为7788的年薪
declare
vsal number;
begin
vsal := func_getsal(7788);
dbms_output.put_line(vsal);
end;
2、修改函数
--查询指定员工的年薪
/*
参数 : 员工的编号
返回 : 员工的年薪
*/
create or replace function func_getsal(vempno number) return number
is
vtotalsal number;
begin
select sal * 12 + nvl(comm, 0) into vtotalsal from emp where empno = vempno;
return vtotalsal;
end;
--查询员工编号为7788的年薪
declare
vsal number;
begin
vsal := func_getsal(7788);
dbms_output.put_line(vsal);
end;
3、删除函数
drop function func_getsal;
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_38490457/article/details/107976731




