我正在使用合併語句在我的存儲過程中插入/更新數據。合併聲明和標識插入
MERGE [dbo].[tReserveData_4541] AS Target
USING (SELECT * FROM [dbo].[tblcangrowhitesh]) AS Source
ON ([Source].[PK_ID] = [Target].[PK_ID])
WHEN MATCHED THEN
UPDATE SET [Target].[mgender] = Source.[mgender]
WHEN NOT MATCHED BY TARGET THEN
INSERT ([Granularity], [PK_ID], [ROWID],
[mgender], [mma1], [mma2], [mma3],
[mmadmincost], [mmcumulativevolume],
[mmcurrency], [mmdate],
[mmfileimporteddate], [mmfilename])
VALUES ([Source].[Granularity], [Source].[PK_ID], [Source].[ROWID],
[Source].[mgender], [Source].[mma1], [Source].[mma2], [Source].[mma3],
[Source].[mmadmincost], [Source].[mmcumulativevolume],
[Source].[mmcurrency], [Source].[mmdate],
[Source].[mmfileimporteddate], [Source].[mmfilename])
正如你看到的,我要在MERGE
語句插入標識列,即[PK_ID]
。但我無法這樣做。有人請幫助我!緊急
您是否嘗試過不插入PK_ID? http://mattgemmell.com/2008/12/08/what-have-you-tried/ – 2012-03-09 14:53:10
如果你想讓它與另一個表同步,你的目標表就不應該有一個標識列(應該有一個標識柱)。 – Lamak 2012-03-09 15:08:36