一、存储过程的概念和定义和优点
存储过程与c语言一样是一门结构化的语言,他们有类似的语法
是SQL查询语句与控制流程语句的预编译集合,并以特定的名称保存在数据库中,存储过程也是数据库对象
优点有: 执行速度快 效率高 模块式编程 减少网络流量 提高安全性
二、存储过程分类
用户自定义存储过程:
1.是开发人员自行定义的存储过程,所实现的功能完全由开发人员自行设计与编写。
2.由用户在自己的数据库中创建的存储过程
3.类似C语言中的用户自定义函数
系统存储过程:
1.它是一组预编译的T-SQL语句,系统存储过程提供了管理数据库和更新数据表的机制。
2.由系统定义,存放在master数据库中
3.类似C语言中的系统函数
4.系统存储过程的名称都以“sp_”开头或”xp_”开头
注释:xp_开头的存储过程是扩展的存储过程。
常用的系统存储过程
sq_columns 查看指定表列的信息
sp_databases 列出当前系统中的数据库
..........
三、语法
create procedure 存储过程名
@参数1名 数据类型 [=默认值]
@参数n名 数据类型 [=默认值]
as
sql语句
go
不带参的存储过程
CREATE PROC[EDURE] 存储过程名
AS
SQL语句........
GO
带参数的存储过程
存储过程的参数分两种:输入输出
(1).输入参数
CREATE PROC[EDURE] 存储过程名
@参数名字 int
AS
SQL语句........
GO
(2).输出参数
CREATE PROC[EDURE] 存储过程名
@参数名字 int output
AS
SQL语句........
GO
注:输出参数要定义变量接收返回的值
四、return的使用
return关键字可以终止存储过程或者返回数值类似c语言的return
五、处理错误信息
语法:raiserror(自定义的错误信息,错误严重级别,错误状态)
自定义的错误信息:表示输出的错误提示文本
错误严重级别:表示用户定义错误的严重级别0—18
错误状态:表示自定义错误的状态 1-127