1
Create table  TEMP_USER
( 
USERNAME  nvarchar(50) ,
ID  int,
Phone nvarchar(30)
);

如果用户名已经存在于 temp_user 中,它应该在通过 SP 插入时增加 1。示例:RAM .Narayan 如果有人尝试再次插入 ram.narayan 它应该插入为 ram.narayan1 下次有人尝试插入 ram.narayan 它应该插入 ram.narayan2 ..如何在 MSSQL 2008 中执行此操作

4

1 回答 1

1

尝试以下类似的方法(未经测试,但它应该会给你一个好的开始)。它假定变量@username@id@phone已作为参数声明或传递。

DECLARE @curr_uname nvarchar(50) = @username
DECLARE @i INT = 0

WHILE EXISTS (SELECT 1 FROM TEMP_USER WHERE USERNAME = @curr_uname)
BEGIN
    SET @i += 1
    SET @curr_uname = @username + CAST(@i AS NVARCHAR(7))
END

INSERT INTO TEMP_USER (USERNAME, ID, Phone)
VALUES (@curr_uname, @id, @phone)
于 2013-03-28T05:15:39.977 回答