如何在SQL SERVER 2005存储过程中,使用循环语句

如何在SQL SERVER 2005存储过程中,使用循环语句,第1张

如何在SQL SERVER 2005存储过程中,使用循环语句

复制代码 代码如下:
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为该存储过程的参数,如果有多个参数,使用“,”分开就可以了,这也是存储过程调用另一个存储过程的一种方法。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/sjk/888455.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-14
下一篇 2022-05-14

发表评论

登录后才能评论

评论列表(0条)

保存