存储过程的概念
存储过程类似一个函数,可以执行一条或者多条SQL语句,可带参数,可返回值
为了简化操作,方便更改和扩展,将一个事件的处理封装在一个单元中供使用。
创建存储过程
--创建存储过程(不带参数的)
create proc sp_sample
as select * from sample --创建存储过程(带参数的)
create proc sp_insert_sample
@No char(10),
@name varchar(20),@age int
as insert into sample
values(@No,@name,@age) --更新记录的存储过程
create proc sp_updatebyid_sample
@id int,
@No char(10),
@name varchar(20),@age int
as update sample set No=@No,name=@name,age=@age
where id=@id --删除记录的存储过程
create proc sp_deletebyid_sample
@id int
as delete from sample where id=@id
执行存储过程
--执行过程
exec sp_selectall_sample --执行带参数的过程
exec sp_insert_sample '1001','小明',21 --执行更新
exec sp_updatebyid_sample 11,'1002','小华',18 --执行删除记录的存储过程
exec sp_deletebyid_sample 11
创建和执行带输出的存储过程
--带输出参数的存储过程
create proc sp_count_sample
@age int,
@num int output --输出的参数,接收的时候一定要声明
as select @num=COUNT(*) from sample where age=@age --执行带输出参数的存储过程
declare @num int --必须declare变量@num
exec sp_count_sample 18,@num output
select @num --用select输出
删除存储过程
drop proc sp_count_sample