美文网首页
存储过程和函数的区别

存储过程和函数的区别

作者: 莫名ypc | 来源:发表于2021-06-09 10:49 被阅读0次

在oracle中的区别

2009072210262325.jpg

在SQL SERVER中的区别

本质上没区别。
只是函数有如:只能返回一个变量的限制。而存储过程可以返回多个。
                        而函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行。
执行的本质都一样。

函数限制比较多,比如不能用临时表,只能用表变量.还有一些函数都不可用等等.而存储过程的限制相对就比较少

  1. 一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。

  2. 对于存储过程来说可以返回参数,而函数只能返回值或者表对象。

  3. 存储过程一般是作为一个独立的部分来执行(EXEC执行),而函数可以作为查询语句的一个部分来调用(SELECT调用),由于函数可以返回一个表对象,因此它可以在查询语句中位于FROM关键字的后面。

  4. 当存储过程和函数被执行的时候,SQL Manager会到procedure cache中去取相应的查询语句,如果在procedure cache里没有相应的查询语句,SQL Manager就会对存储过程和函数进行编译。

Procedure cache中保存的是执行计划 (execution plan) ,
当编译好之后就执行procedure cache中的execution plan,
之后SQL SERVER会根据每个execution plan的实际情况来考虑是否要在cache中保存这个plan,
评判的标准一个是这个execution plan可能被使用的频率;
其次是生成这个plan的代价,
也就是编译的耗时。
保存在cache中的plan在下次执行时就不用再编译了。

相关文章

  • mysql的存储过程及其使用场景,和存储函数的区别

    简单了解什么是存储过程,以及存储过程的使用场景,和存储函数、触发气的区别: 存储过程,存储函数,触发器和事件是自从...

  • 存储过程和函数的区别

    在oracle中的区别 在SQL SERVER中的区别 本质上没区别。只是函数有如:只能返回一个变量的限制。而存储...

  • 存储过程(procedure)和函数(function)区别

    存储过程(procedure)和函数(function)区别 本质上它们都是存储程序。函数只能通过retur...

  • PostgreSQL Oracle 兼容性之存储过程

     在oracle中,函数和存储过程是经常使用到的,并且有所区别;而postgresql中函数和存储过程都是相同定义...

  • MySQL 存储过程与函数

    触发器,函数,存储过程 1 存储过程与函数的区别 本质上没区别,执行的本质都一样。 函数有且只能返回一个变量存储过...

  • 第24课 聊聊函数

    函数(function) 和存储过程很像, 提高代码重用性, 简化操作, 较少编译次数 区别在于 存储过程的返回值...

  • 存储过程

    存储过程 过程,可以简单理解为是一个函数。 函数和过程的区别:函数总是向调用者返回数据,而过程没有数据返回。 Or...

  • 7 存储过程

    存储过程与函数的区别 本质上没区别。函数只能通过return语句返回单个值或者表对象。而存储过程不允许执行retu...

  • 深入浅出MySQL之开发篇(二)

    继续深入了解MySQL的高级特性。 1.存储过程和函数 什么是存储过程和函数 存储过程和函数是事先经过编译并存储在...

  • 浅谈存储过程

    【1】什么是过程?过程与函数的区别?什么是存储过程??? 存储过程:存储在数据库中的封装了若干条SQL语句的过程(...

网友评论

      本文标题:存储过程和函数的区别

      本文链接:https://www.haomeiwen.com/subject/frxeeltx.html