테이블에 요소를 삽입하고 삭제하는 중입니다. 결과적으로 새 요소를 삽입하려고 할 때 새 ID 번호가 필요하지만이 ID는 마지막 ID + 1. 예를 들어 : 마지막 ID는 5이고 나는 새로운 ID가, 11의 값을 취할 것 5 개 요소를 삽입하고 그 후 삭제 나는 6 필요 여기에 내 코드신원을 병합 문으로 설정합니다.
CREATE TABLE #FC
(
Code varchar(25),
Description varchar(50),
Category varchar(10),
CreatedDate datetime,
LastModifiedDate datetime
);
--Adding just one record
INSERT INTO #FC (Code, Description, Category, CreatedDate, LastModifiedDate)
VALUES ('DELETE_MEMBER', 'Delete Member', 'POLICY', @Now, @Now);
;
SET IDENTITY_INSERT [dbo].[Function_Code] ON;
MERGE
INTO [dbo].[Function_Code] AS T
USING #FC AS S
ON (T.Code = S.Code) AND (T.Description = S.Description) AND(T.Category = S.Category)
WHEN MATCHED THEN
UPDATE SET
[Code] = S.[Code]
, [Description] = S.Description
, [Category] = S.Category
, [CreatedDate] = S.CreatedDate
, [LastModifiedDate] = S.LastModifiedDate
WHEN NOT MATCHED THEN
INSERT (Code, Description, Category, CreatedDate, LastModifiedDate)
VALUES(S.Code, S.Description, S.Category, S.CreatedDate, S.LastModifiedDate)
;
SET IDENTITY_INSERT [dbo].[Function_Code] OFF;
왜 ID에 간격이 없어야 할 필요가 있는지 설명하십시오. –