如何在SQL SERVER 2005存储过程中,使用循环语句
展开全部
实现循环有很多种方式 看你需要 或者喜欢
有for 循环
有while 循环
有foreach 循环
等等 我用的不是 sql sever数据库 具体的 你自己写写看
------------------------------------------------------------
SQL
SERVER数据库建立存储过程时,可以使用循环语句,下面就将为您介绍这种SQL SERVER数据库中存储过程使用循环语句的方法,供您参考。
CREAT PROCEDURE tester
AS
BEGIN
SET NOCOUNT ON;
DECLARE @userId varchar(50)
DECLARE @count int
SET @count =
0
SELECT @count = count(*) FROM UserService_User WHERE Account like
'%111%'
WHILE @count > 0
BEGIN
SELECT @userId = Id
FROM UserService_User WHERE Account like '%111%'
exec
UserService_RemoveUserByUserId @userId
SET @count = @count -1
END
END
说明:
1、此存储过程在SQL SERVER 2005上测试通过,值得注意的是,循环体中,语句是使用BEGIN……END包括的,而不是网络上常说的WHILE
……END WHILE结构,其他的循环语句,如LOOP ……UNTIL……END LOOP也不能通过编译,也许是版本的问题,但在SQL
SERVER2005中,循环体使用BEGIN……END就可以,而不能使用网络上常说的WHILE ……END WHILE结构。
2、循环体中 UserService_RemoveUserByUserId
是一个存储过程的名称,@userId为该存储过程的参数,如果有多个参数,使用“,”分开就可以了,这也是存储过程调用另一个存储过程的一种方法。
这个是我从网上百度的 希望对你有用
有for 循环
有while 循环
有foreach 循环
等等 我用的不是 sql sever数据库 具体的 你自己写写看
------------------------------------------------------------
SQL
SERVER数据库建立存储过程时,可以使用循环语句,下面就将为您介绍这种SQL SERVER数据库中存储过程使用循环语句的方法,供您参考。
CREAT PROCEDURE tester
AS
BEGIN
SET NOCOUNT ON;
DECLARE @userId varchar(50)
DECLARE @count int
SET @count =
0
SELECT @count = count(*) FROM UserService_User WHERE Account like
'%111%'
WHILE @count > 0
BEGIN
SELECT @userId = Id
FROM UserService_User WHERE Account like '%111%'
exec
UserService_RemoveUserByUserId @userId
SET @count = @count -1
END
END
说明:
1、此存储过程在SQL SERVER 2005上测试通过,值得注意的是,循环体中,语句是使用BEGIN……END包括的,而不是网络上常说的WHILE
……END WHILE结构,其他的循环语句,如LOOP ……UNTIL……END LOOP也不能通过编译,也许是版本的问题,但在SQL
SERVER2005中,循环体使用BEGIN……END就可以,而不能使用网络上常说的WHILE ……END WHILE结构。
2、循环体中 UserService_RemoveUserByUserId
是一个存储过程的名称,@userId为该存储过程的参数,如果有多个参数,使用“,”分开就可以了,这也是存储过程调用另一个存储过程的一种方法。
这个是我从网上百度的 希望对你有用
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询