码迷,mamicode.com
首页 > 其他好文 > 详细

存储过程和函数之间有几个区别

时间:2018-07-02 23:02:02      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:数通   sql   不可   return语句   速度   特定   ret   关键字   exec   

存储过程和函数之间有几个区别:


 

存储过程是用户定义的SQL语句序列的集合,涉及特定表或其他对象的任务。用户可以调用存储过程。函数通常是由数据库定义的方法。它接收参数并返回某种类型的值,并且不涉及特定的用户表(如果它是自定义函数,则可能涉及用户表)。

1)通常,由存储过程实现的功能稍微复杂一点,功能的功能更具针对性。存储过程功能强大,可以执行一系列数据库操作,包括修改表;用户定义的函数不能用于执行一组修改全局数据库状态的操作。

2)对于存储过程,您可以返回参数,例如记录集,该函数只能返回值或表对象。一个函数只能返回一个变量;一个存储过程可以返回多个。存储过程的参数可以有IN,OUT,INOUT三种类型,而函数只能有IN类~~存储过程声明不需要返回类型,函数声明需要描述返回类型,而函数体必须包含有效的RETURN语句。

3)存储过程可以使用非确定性函数,并且不允许在用户定义的函数体中包含非确定性函数。

4)存储过程通常作为一个独立的部分执行(执行EXECUTE语句),并且该函数可以作为查询语句(SELECT调用)的一部分被调用,因为函数可以返回一个表对象,所以它可以在查询语句位于FROM关键字之后。存储过程在SQL语句中不可用,但可以使用函数。


 

存储过程和函数的优点和缺点

优点:
1.存储过程和函数允许标准组件编程,提高SQL语句的可重用性,共享性和可移植性。
2.存储过程和函数可以用作安全机制。
3.存储过程和功能可以加快执行速度并减少网络流量。
缺点:
存储过程和函数的准备比单句SQL语句更复杂。
2.编写存储过程和函数时,您需要为这些数据库对象创建权限。

存储过程和函数之间有几个区别

标签:数通   sql   不可   return语句   速度   特定   ret   关键字   exec   

原文地址:https://www.cnblogs.com/lairui1232000/p/9255978.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!