为了账号安全,请及时绑定邮箱和手机立即绑定

请教下在oracle中procedure和function有何本质区别?

请教下在oracle中procedure和function有何本质区别?

墨色风雨 2022-04-15 15:11:35
postgresql中是只有fuction没有procedure的不知两者有何区别?procedure的那些作用,是function永远无法做到的?
查看完整描述

2 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

1、标识符不同。函数的标识符为FUNCTION,过程为:PROCEDURE。
2、函数中一般不用变量形参,用函数名直接返回函数值;而过程如有返回值,则必须用变量形参返回。
3、过程无类型,不能给过程名赋值;函数有类型,最终要将函数值传送给函数名。
4、函数在定义时一定要进行函数的类型说明,过程则不进行过程的类型说明。
5、调用方式不同。函数的调用出现在表达式中,过程调用,由独立的过程调用语句来完成。
6、过程一般会被设计成求若干个运算结果,完成一系列的数据处理,或与计算无关的各种操作;而函数往往只为了求得一个函数值

查看完整回答
反对 回复 2022-04-19
?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

function 可以使用在表达式中 x := func();procedure不能
function 可以做为表达式 select func() from dual;procedure 不能
function 不能BEGIN func();END;;procedure 可以

查看完整回答
反对 回复 2022-04-19
  • 2 回答
  • 0 关注
  • 163 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信