Oracle函数 和 Oracle存储过程的区别
展开全部
函数和存储过程的区别
从参数的返回情况来看:
如果返回多个参数值最好使用存储过程,如果只有一个返回值的话可以使用函数;
从调用情况来看:
如果在SQL语句(DML或SELECT)中调用的话一定是存储函数或存储的封装函数不可以是存储过程,但调用存储函数的时候还有好多限制以及函数的纯度等级的问题,你可以参考《ORACLE 9I PL\SQL程序设计》(机械工业出版社);
如果是在过程化语句中调用的话,就要看你要实现什么样的功能。函数一般情况下是用来计算并返回一个计算结果而存储过程一般是用来完成特定的数据操作(比如修改、插入数据库表或执行某些DDL语句等等),所以虽然他们的语法上很相似但用户在使用他们的时候所需要完成的功能大部分情况下是不同的。
从参数的返回情况来看:
如果返回多个参数值最好使用存储过程,如果只有一个返回值的话可以使用函数;
从调用情况来看:
如果在SQL语句(DML或SELECT)中调用的话一定是存储函数或存储的封装函数不可以是存储过程,但调用存储函数的时候还有好多限制以及函数的纯度等级的问题,你可以参考《ORACLE 9I PL\SQL程序设计》(机械工业出版社);
如果是在过程化语句中调用的话,就要看你要实现什么样的功能。函数一般情况下是用来计算并返回一个计算结果而存储过程一般是用来完成特定的数据操作(比如修改、插入数据库表或执行某些DDL语句等等),所以虽然他们的语法上很相似但用户在使用他们的时候所需要完成的功能大部分情况下是不同的。
参考资料: http://blog.chinaunix.net/u1/44502/showart_364055.html
展开全部
用我自己的话概括:最大的区别就是:
函数就是存储过程中的一种,函数可以有或者没有输入参数,但一定要返回一个值,而存储过程可以有或者没有输入参数,但也可以有或者没有返回值。
他们的写法也不太一样。
具体写法建议网上查查他们的用法。网络上讲的比较全面。
函数就是存储过程中的一种,函数可以有或者没有输入参数,但一定要返回一个值,而存储过程可以有或者没有输入参数,但也可以有或者没有返回值。
他们的写法也不太一样。
具体写法建议网上查查他们的用法。网络上讲的比较全面。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数是建筑材料,存储过程是楼房。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一楼已经回答的非常好了。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询