广

MSSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

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

    2018-05-07 10:24:18 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布

    代码如下:

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

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七网广告
    零七网广告
    零七网广告
    零七网广告