存储过程
一.概念:预先编译好的sql程序,可以包含:操作数据、变量、控制语句,增删改查操作都可以,存储过程是保存在数据库中 的一个对象。
二.好处:
1.安全性更高
2.减少了网络流量
3.提高速度,性能更高
4.模块化编程
三、分类
1.系统存储过程:由数据库创建的,“sp_”开头,常用的系统存储过程:
(1)sp_helpdatabases;列出所有的数据库
(2)sp_helpdb:列出指定的数据库信息
(3)sp_help:列出指定的表的信息
(4)sp_helptext:列出指定对象文本信息
2.扩展存储过程:
由其他语言创建,完成数据库以外的功能,以“xp_”开头,以dll文件形式存放
3.用户自定义的存储过程
用户在自己的数据库中创建的
四、创建存储过程
create proc 存储过程名
@参数1 数据类型, --默认表示输入参数
@参数2 数据类型 output,--表示输出参数
@参数3 数据类型=值 --添加默认值,也叫可选参数
as
sql 语句
1.无参数:create proc 存储过程名
as sql 语句
调用:exec 存储过程名
2.带输入的参数
create proc 存储过程名
@参数1 数据类型,
@参数2 数据类型=默认参数
as sql 语句
调用:
exec 存储过程名 参数值1,参数值2,参数值按照位置给存储过程中的参数传值
exec 存储过程名 参数值1,第二个参数取默认值
exec 存储过程名 @参数2=参数值2,@参数1=参数值1,指定参数名方式调用,参数顺序可以是任意的
3.带输出的参数
create proc 存储过程名
@参数1 数据类型,
@参数2 数据类型 output--输出参数
as sql 语句
调用:exec 存储过程名 参数值1,@变量 output
输出参数从存储过程中向外传值,调用时传递一个变量,要有output
4.有返回值的
creeate proc 存储过程名
as
sql 语句
return 整型数据(0或者1)
调用 exec @变量=存储过程名
5.错误处理