游标循环跳过本次循环,循环下一行

DECLARE @Name NVARCHAR(50),@NRIC NVARCHAR(15),@PersonID INT
DECLARE CUR_Test CURSOR FOR
SELECT [Name],NRIC,PersonID FROM tblCtcPersonTest1
OPEN CUR_Test
FETCH NEXT FROM CUR_Test INTO @Name,@NRIC,@PersonID;
 WHILE @@FETCH_STATUS =0
    BEGIN
        IF CHARINDEX('*',@NRIC)>0
        BEGIN
            INSERT INTO tblCtcPersonTest([Name],[PersonID],NRIC)VALUES(@Name,@PersonID,@NRIC)
        END
        ELSE
        BEGIN
             UPDATE tblCtcPersonTest1 SET Remarks='cant insert' WHERE PersonID=@PersonID
             GOTO FORNEXT;
        END

        UPDATE tblCtcPersonTest1 SET Flag='success' WHERE PersonID=@PersonID
    FORNEXT:
    FETCH NEXT FROM CUR_Test INTO @Name,@NRIC,@PersonID;
    END
CLOSE CUR_Test;
DEALLOCATE CUR_Test

posted @ 2019-08-30 13:56  牧夫座  阅读(371)  评论(0编辑  收藏  举报