SQLトランザクションと内部トランザクションを使用していますが、複数のレコードを一度に挿入する必要があります。コミット前のSQLトランザクションのカウンタ変数のインクリメント
しかし、問題は私のIDが身元ではないということです。だから、私は最大のIDを取得し、それを挿入する必要があります。 しかし、私は最大と増分+1を得る。それは常に同じです。
以下はmyコードです。
BEGIN
DECLARE @maxId INT;
SET @maxId = (SELECT MAX(id) FROM [dbo].[tempUser]);
BEGIN TRAN
BEGIN TRY
INSERT INTO [dbo].[tempUser] (id, principal, first_name, last_name, email, isActive)
SELECT @maxId+1, A.User_Id, A.FirstName,A.LastName, '[email protected]', 1 FROM ADUser_Table A
LEFT JOIN [dbo].[tempUser] B on A.User_Id =B.principal where B.principal Is NULL
COMMIT TRAN
END TRY
BEGIN CATCH
ROLLBACK TRAN
END CATCH
END
SQLトランザクションのすべてのレコードにmax id +1を挿入するにはどうすればよいですか?