本文描述了SQL Server中存储过程和用户定义函数之间的区别 。存储过程(Stored Procedure)
存储过程只不过是您事先保存好的SQL代码而已,您可以反复使用该代码 。如果您一遍又一遍地写一个查询,而又不想每次都写该查询,则可以将其保存为存储过程,然后只需调用该存储过程即可 。
除了反复运行相同的SQL代码之外,您还可以向存储过程传递参数,因此根据需要,存储过程可以根据传递的参数值进行相应的操作 。
存储过程也可以提高性能,许多任务被实现为一系列SQL语句 。应用于第一个SQL语句的结果的条件逻辑确定执行哪些后续SQL语句,如果将这些SQL语句和条件逻辑写入存储过程,则它们将成为服务器上单个执行计划的一部分,无需将结果返回给客户端即可应用条件逻辑,所有工作都在服务器上完成 。
存储过程的好处
- 预编译的执行
- 减少了客户端/服务器的流量
- 高效地重用代码和编程抽象
- 增强的安全控制
用户定义函数(User Defined Functions)
与编程语言中的函数一样,SQL Server用户定义函数是接受参数、执行操作(比如复杂计算)并返回该操作结果的例程 。返回值可以是单个标量值,也可以是结果集 。
程序设计语言中的函数是用来封装经常执行的逻辑的子程序 。任何必须执行合并到函数中的逻辑的代码都可以调用该函数,而不必重复所有的函数逻辑 。
SQL Server支持两种类型的函数
- 内置函数
- 用户定义函数
用户定义函数的好处
- 它们允许模块化编程
- 它们可以更快地执行
- 它们可以减少网络流量
SQL Server中存储过程和用户定义函数的区别
文章插图
SQL Server中存储过程和用户定义函数的区别
推荐阅读
- MySQL 5.7 update误操作后数据恢复详解
- 程序员必备——SQL语法速成手册
- 一文搞懂 SQL:基础知识和业务实践总结
- 详解PostgreSQL数据库压测工具之pgbench-tools
- MySQL查看连接数
- 自动补全、回滚!介绍一款可视化 sql 诊断利器
- 自制水信玄饼的做法
- 适合收藏 如何将Rasa聊天机器人框架部署到linux,简明教程
- 夫妻关系中,与异性网聊算不算背叛?
- 我一直以为SQL先执行SELECT语句?一个窗口函数,我突然发现错了