存储过程(Stored Procedure),是一组为了完成特定功能的SQL 语句,类似一门程序设计语言,也包括了数据类型、流程控制、输入和输出和它自己的函数库。存储过程可以说是一个记录集,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。
create table jsj(st_id varchar(20),st_name varchar(20))
insert into jsj values('01','A')
insert into jsj values('02','B')
insert into jsj values('03','C')
insert into jsj values('04','D')
insert into jsj values('05','E')
select * from jsj
--创建存储过程,无参数的
create procedure pr
@nm varchar(20)
as
begin
select st_id,st_name from jsj
end
go
--存数过程,有参数(全局变量)
create procedure pr3
@id varchar(20)
as
begin
select st_id,st_name from jsj where st_id=@id
end
go
exec pr3 '02'
--上面是在外部给变量赋值,也可以在内部直接给变量设置默认值
create procedure pr4
@id varchar(20)='03'
as
begin
select st_id,st_name from jsj where st_id=@id
end
go
exec pr4
--存储过程 procedure
--select * from cmp
--create procrdure pr
alter procedure pr
@i int
--@nm varchar(20)
as
begin
declare @s int , @j int
set @s = 0
set @j = 1
while @j <= @i
--select st_no,st_name from cmp where st_name=@nm
begin
set @s = @s + @j
set @j = @j+1
end
select @s
end
execute pr 5