SQL虽然存在陷入循环?

时间:2017-02-24 20:44:37

标签: sql-server while-loop

我有一个基本上在表中插入新用户名的游标。我正在尝试检查现有的并附加一个' _1'或者' _2'等

然而,似乎我的代码卡在循环中并且永远不会完成。

以下是我相信的代码:

        SET @NUM = 1

        --If Username already exists append number
        While Exists ( select Null from CUSTOMTABLE Where USER_PRINCIPAL_NAME = @UPN)

        BEGIN
            SET @UPN = @UPN+'_'+RTRIM(CONVERT(varchar(10), @NUM))
            SET @NUM = @NUM+1
        END 

然后我继续插入值' @ upn'进入一张桌子。我存在不正确吗?

1 个答案:

答案 0 :(得分:0)

这应该绝对有用。您不会考虑NULL并且您也会反复添加#,因此您的字符串将开始看起来像x #,x _##,x #等

    index=['SYd', 'SYd', 'XNa', 'XNa', 'c', 'b']