什么是存储过程?
是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。一次编译,永久有效
是通过存储过程名字而被直接调走
存储过程包含
- 程序流
- 逻辑
- 对数据库的查询
范围
- 参数
- 输出参数
- 返回单个或多个结果集
- 返回值
为什么使用存储过程?
好处
- 重复使用
- 减少开发人员的工作量
- 提升效率
存储过程种类
- 用户自定义存储过程
- 系统存储过程
- 扩展存储过程
规则
1、可以引用同一存储过程中创建的对象
2、可以在存储过程内引用临时表
3、被调用的存储过程可以访问由第一个存储过程创建的所有对象
4、远程存储过程不参与事务处理
5、参数最大数目为2100
6、局部变量的最大数目仅受可用内存的限制
7、可用内存不同,存储过程最大可达128MB
不能包括的T-SQL语句
创建存储过程
语法格式
示例
使用默认值参数
使用输出参数output
使用output关键字来指定输出的参数,可以直接加具体的数值
更新存储过程
修改存储过程
语法格式
示例
可编程环境-找到存储过程,点击修改,进行编辑即可
删除存储过程
语法格式
示例
系统存储过程
方法
- exec sp_who sa
- exec sp_helpdb
- exec sp_monitor
临时存储过程
#局部的临时存储过程
##全局的临时存储过程
示例
若是新建一个查询,进行上面的调用,就会显示找不到存储过程,因为创建的是局部临时存储过程。
想要建立全局临时存储过程,需要删除局部临时存储过程
嵌套存储过程
最多可嵌套32层
查看存储过程
方法
1、可编程性-编写存储过程脚本-create到-新查询编辑器窗口(如果要保存成文件的话,最后选择文件)
2、使用系统存储过程
可以直接保存成一个文件