什么是存储过程?
是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。一次编译,永久有效

是通过存储过程名字而被直接调走

存储过程包含

  • 程序流
  • 逻辑
  • 对数据库的查询

范围

  • 参数
  • 输出参数
  • 返回单个或多个结果集
  • 返回值

为什么使用存储过程?

好处

  1. 重复使用
  2. 减少开发人员的工作量
  3. 提升效率

存储过程种类

  • 用户自定义存储过程
  • 系统存储过程
  • 扩展存储过程

规则
1、可以引用同一存储过程中创建的对象
2、可以在存储过程内引用临时表
3、被调用的存储过程可以访问由第一个存储过程创建的所有对象
4、远程存储过程不参与事务处理
5、参数最大数目为2100
6、局部变量的最大数目仅受可用内存的限制
7、可用内存不同,存储过程最大可达128MB

不能包括的T-SQL语句

【数据库视频】存储过程概述_嵌套


创建存储过程

语法格式

【数据库视频】存储过程概述_存储过程_02


示例

【数据库视频】存储过程概述_嵌套_03


使用默认值参数

【数据库视频】存储过程概述_嵌套_04


使用输出参数output

使用output关键字来指定输出的参数,可以直接加具体的数值

【数据库视频】存储过程概述_SQL_05


更新存储过程

【数据库视频】存储过程概述_嵌套_06


修改存储过程

语法格式

【数据库视频】存储过程概述_SQL_07


示例

可编程环境-找到存储过程,点击修改,进行编辑即可

【数据库视频】存储过程概述_SQL_08


删除存储过程

语法格式

【数据库视频】存储过程概述_SQL_09


示例

【数据库视频】存储过程概述_存储过程_10


系统存储过程

方法

  • exec sp_who sa
  • exec sp_helpdb
  • exec sp_monitor

临时存储过程

#局部的临时存储过程
##全局的临时存储过程

示例

【数据库视频】存储过程概述_SQL_11


若是新建一个查询,进行上面的调用,就会显示找不到存储过程,因为创建的是局部临时存储过程。

想要建立全局临时存储过程,需要删除局部临时存储过程

【数据库视频】存储过程概述_SQL_12


【数据库视频】存储过程概述_存储过程_13


嵌套存储过程

最多可嵌套32层

【数据库视频】存储过程概述_存储过程_14


查看存储过程

方法

1、可编程性-编写存储过程脚本-create到-新查询编辑器窗口(如果要保存成文件的话,最后选择文件)

2、使用系统存储过程

【数据库视频】存储过程概述_嵌套_15


可以直接保存成一个文件