存储过程概述
存储过程是完成特定功能的一组SQL语句,它是数据库的一种可编程对象,类似于函数
其快速、灵活、安全
系统存储过程
SQL sever 内置的存储过程,存储在master库中,主要用于执行SQL sever的某些功能、显示有关数据库和用户的信息。系统存储过程名以sp_开头,可以在任何数据库中执行系统存储过程
用户存储过程:用户自行创建并存储在用户数据库中的存储过程
创建存储过程
创建无参存储过程
create proc p1 as 要执行的SQL语句
exec p1 --执行
创建有输入参数的存储过程
create proc 存储过程名
@输入参数名 数据类型 --输入参数定义
as 要执行的SQL语句
--调用
exec 存储过程名 参数值 --1 exec可省略
exec 存储过程名 @输入参数名=参数值 --2 exec可省略
declare @输入参数名 参数类型 --3 exec不可省略
exec 存储过程名 参数值
创建带有输出参数的存储过程
create proc 存储过程名
@输入参数名 数据类型 --输入参数定义
@输出参数名 数据类型 output --输出参数定义
as 要执行的SQL语句(包含语句:print @输出参数名)
--调用
declare @输出参数名 参数类型
exec 存储过程名 输入参数值,@输出参数名
修改存储过程
alter proc[ edure ] 存储过程名[;编号]
[ { @参数名 数据类型 } [ varying ] [ = 默认值]
[ output ] ] [ ,...n ]
as
SQL语句 [ ...n ]
--各参数与create procedure 语句相同
删除存储过程
drop procedure 过程名