oracle中的存储过程和存储函数的区别

oracle中的存储过程和存储函数的区别
(尊重劳动成果,转载请注明出处:https://blog.csdn.net/qq_39778516/article/details/84033710 consistencely的博客)
1.存储过程
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的 SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象,任何一个设计良好的数据库应用程序都应该用到存储过程。
创建存储过程语法
create [or replace] PROCEDURE 过程名[(参数名 in/out 数据类型)]
as/is
begin
PLSQL 子程序体;
End;
范例:创建一个输出 helloword 的存储过程。
在这里插入图片描述
调用存储过程
在 plsql 中调用存储过程。
在这里插入图片描述
范例 2:给指定的员工涨 100 工资
分析:我们需要使用带有参数的存储过程。
方法一:
在这里插入图片描述
方法二:
在这里插入图片描述
在这里插入图片描述
2.存储函数
存储过程和存储函数的区别
一般来讲,过程和函数的区别在于函数可以有一个返回值;而过程没有返回值。但过程和函数都可以通过 out 指定一个或多个输出参数。我们可以利用 out 参数,在过程和函数中实现返回多个值。
语法:
在这里插入图片描述
范例:使用存储函数来查询指定员工的年薪
在这里插入图片描述
使用存储过程来替换上面的例子
在这里插入图片描述
在这里插入图片描述
3.本质区别:
存储函数有返回值,而存储过程没有返回值。
3.1 如果存储过程想实现有返回值的业务,我们就必须使用out类型的参数。
3.2 即便是存储过程使用了out类型的参数,起本质也不是真的有了返回值,
3.3 而是在存储过程内部给out类型参数赋值,在执行完毕后,我们直接拿到输出类型参数的值。
案例需求:查询出员工姓名,员工所在部门名称。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.Java 程序调用存储过程
在这里插入图片描述
5.Java 程序调用存储函数
在这里插入图片描述

  • 19
    点赞
  • 113
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值