どのように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
は説明しています。この格納過程はSQL SERVER 2005で試験に合格しました。注目すべきことは、循環体において、文はBEGINを使用しています。ENDはネットワークでよく言われるWHILEではなく、END WHILE構造、その他の循環文はLOOPのようです。UNTIL…END LOOPもコンパイルできません。バージョンの問題かもしれませんが、SVER 200ではSVER 25にあります。循環体はBEGIN…ENDを使えばいいですが、ネットでよく言われるWHILE…END WHILE構造は使えません。
2、循環体の中でUserService_RemoveUserByUserIdは格納プロセスの名前であり、@userIdは格納プロセスのパラメータであり、複数のパラメータがあれば、「」を使用して分離すればよく、これも格納プロセスが別の格納プロセスを呼び出す方法である。