什么是存储过程?
- 预先存储好的SQL程序
- 保存在SQL Server中(跟视图的存储方式一样)
- 通过名称和参数执行 在数据库服务器端直接调用(DBA) 供应用程序调用(软件开发工程师)
类似于JAVA和C#中的方法
- 可带参数,也可返回结果
- 可包含数据操纵语句、变量、逻辑控制语句等
存储过程的优点
- 执行速度快
- 允许模块化程序设计
- 提高系统安全性
- 减少网络流通量
- 视图和存储过程的重要优点:安全且执行速度快
- 应用程序发送SQL的过程 传输语句 -> 语法检查 ->语句优化 -> 语句翻译 -> 语句执行
- 应用程序调用存储过程或视图的过程 传输参数 -> 语句执行
存储过程的分类
系统存储过程 - 系统存储过程的名称一般以“sp_”开头 - 由SQLServer创建、管理和使用 - 存放在Master数据库中 - 类似于Java和C#语言类库中的方法 扩展存储过程
- 扩展存储过程的名称通常以“xp_”开头
- 使用编程语言(如C#)创建的外部存储过程
- 以DLL形式单独存在。 用户自定义存储过程
- 由用户在自己的数据库中创建的存储过程
- 类似于C#语言中用户自定义的方法
调用存储过程
调用存储过程的语法
代码语言:javascript复制EXECUTE 过程名 [参数]
代码语言:javascript复制EXEC 过程名 [参数]