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 に答える