postgresql中是只有fuction没有procedure的不知两者有何区别?procedure的那些作用,是function永远无法做到的?
2 回答
元芳怎么了
TA贡献1798条经验 获得超7个赞
1、标识符不同。函数的标识符为FUNCTION,过程为:PROCEDURE。
2、函数中一般不用变量形参,用函数名直接返回函数值;而过程如有返回值,则必须用变量形参返回。
3、过程无类型,不能给过程名赋值;函数有类型,最终要将函数值传送给函数名。
4、函数在定义时一定要进行函数的类型说明,过程则不进行过程的类型说明。
5、调用方式不同。函数的调用出现在表达式中,过程调用,由独立的过程调用语句来完成。
6、过程一般会被设计成求若干个运算结果,完成一系列的数据处理,或与计算无关的各种操作;而函数往往只为了求得一个函数值
一只甜甜圈
TA贡献1836条经验 获得超5个赞
function 可以使用在表达式中 x := func();procedure不能
function 可以做为表达式 select func() from dual;procedure 不能
function 不能BEGIN func();END;;procedure 可以
- 2 回答
- 0 关注
- 163 浏览
添加回答
举报
0/150
提交
取消