存储过程:

存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。
存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。
可以出于任何使用 SQL 语句的目的来使用存储过程,它具有以下优点:
1、可以在单个存储过程中执行一系列 SQL 语句。
2、可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。
3、存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快。

用户定义函数:
Microsoft SQL Server 2000 允许创建用户定义函数。与任何函数一样,用户定义函数是可返回值的例程。根据所返回值的类型,每个用户定义函数可分成以下三个类别:
1、返回可更新数据表的函数
如果用户定义函数包含单个 Select 语句且该语句可更新,则该函数返回的表格格式结果也可以更新。
2、返回不可更新数据表的函数
如果用户定义函数包含不止一个 Select 语句,或包含一个不可更新的 Select 语句,则该函数返回的表格格式结果也不可更新。
3、返回标量值的函数
用户定义函数可以返回标量值。

存储过程
功能强大,限制少
不能直接引用返回值
用select语句返回记录集

自定义函数
诸多限制,有许多语句不能使用,许多功能不能实现
可以直接引用返回值
用表变量返回记录集

浅谈SQL中存储过程和自定义函数的区相关推荐

  1. gather torch_浅谈Pytorch中的torch.gather函数的含义

    pytorch中的gather函数 pytorch比tensorflow更加编程友好,所以准备用pytorch试着做最近要做的一些实验. 立个flag开始学习pytorch,新开一个分类整理学习pyt ...

  2. 浅谈sql中的in与not in,exists与not exists的区别以及性能分析

    1.in和exists in是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询,一直以来认为exists比in效率高的说法是不准确的.如果查询的两个表 ...

  3. 浅谈sql中的in与not in,exists与not exists的区别

    1.in和exists in是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询,一直以来认为exists比in效率高的说法是不准确的.如果查询的两个表 ...

  4. mysql groupby having_浅谈sql语句中GROUP BY 和 HAVING的使用方法

    在介绍GROUP BY 和 HAVING 子句前,我们必需先讲讲sql语言中一种特殊的函数:聚合函数, 例如SUM, COUNT, MAX, AVG等.这些函数和其它函数的根本区别就是它们一般作用在多 ...

  5. python hasattr函数_浅谈python中的getattr函数 hasattr函数

    hasattr(object, name) 作用:判断对象object是否包含名为name的特性(hasattr是通过调用getattr(ojbect, name)是否抛出异常来实现的). 示例: & ...

  6. python中怎么调用函数_浅谈Python中函数的定义及其调用方法

    一.函数的定义及其应用 所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用函数的使用包含两个步骤 1.定义函数–封装独立的功能 2.调用函数–享受封装的成果 函数的作用:在开发时 ...

  7. python中zip的使用_浅谈Python中的zip()与*zip()函数详解

    前言 1.实验环境: Python 3.6: 2.示例代码地址:下载示例: 3.本文中元素是指列表.元组.字典等集合类数据类型中的下一级项目(可能是单个元素或嵌套列表). zip(*iterables ...

  8. python 中arange函数_浅谈Python中range与Numpy中arange的比较

    本文先比较range与arange的异同点,再详细介绍各自的用法,然后列举了几个简单的示例,最后对xrange进行了简单的说明. 1. range与arange的比较 (1)相同点:A.参数的可选性. ...

  9. 事物日志恢复 mysql_浅谈SQL Server中的事务日志(五)----日志在高可用和灾难恢复中的作用...

    本篇文章是系列文章中的第五篇,是对前一个日志系列的补充篇.如果您对日志的基本概念还没有一个比较系统的了解,可以参看本系列之前的文章: 浅谈SQL Server中的事务日志(一)----事务日志的物理和 ...

最新文章

  1. 40.lombok在IntelliJ IDEA下的使用
  2. Android之unable to execute dex java heap space解决方案
  3. 分布式b2b b2c o2o电子商务云平台
  4. sqlmap常用操作命令
  5. Android网络课程笔记-----Actionbar的实现方式
  6. 一步一步实现自己的模拟控件(6)——控件树及控件区域
  7. go 公众号 关注 监听_开言英语公众号关注
  8. light7在微信ios下input点击困难
  9. mysql 绿色安装 ubuntu_Ubuntu免安装配置MySQL
  10. 表格闪退怎么解决_Excel中出现表格打开闪退的处理技巧
  11. 三维空间内点到直线的距离计算公式
  12. MySQL数据库酒店客房管理系统(含MySQL源码) 结课作业 做的不是很好
  13. 程序员转岗产品经理有哪些优势和劣势?
  14. 谷歌云服务器账号,免费使用谷歌云服务器一年
  15. NLTK-004:加工原料文本
  16. kali linux国内源
  17. okvis 基于关键帧视觉惯性传感器非线性优化SLAM 论文翻译+博客总结
  18. python画喜羊羊代码_PYTHON养成日记 DAY-7
  19. 【常识】气体单位%Vol、ppm、%LEL
  20. 科创人·中建三局一公司尹奎:数字化变革能创造全新行业,其意义超越形式、范式创新

热门文章

  1. CentOS7 如何关闭防火墙
  2. 2021年中国养老前景调查报告
  3. 2021年周边游数据报告
  4. 互联网日报 | 5月10日 星期一 | 小米成立私募股权基金管理公司;58金融升级为58数科;京东健康推出“家医保”健康险服务...
  5. 2021年中国K12在线辅导行业总结和趋势洞察
  6. 作者:袁晓如,北京大学“百人计划”研究员,北京大学信息科学技术学院博士生导师。...
  7. 【2016年第1期】农业大数据资产管理面临的挑战与思考
  8. 【软件质量】软件可移植性
  9. 【系统设计】架构设计说明书
  10. 解决在Android Studio 3.2找不到Android Device Monitor工具