我有一张桌子CMT_M_DISPOSITION (DispositionKey, DispositionValue)
。 PK在DispositionKey
上。我希望使用MAX(DispositionKey) + 1
为第一列插入新记录。
我收到错误
DispositionKey列无效
当我运行以下代码时。
任何人都可以解释为什么我会收到此错误以及如何解决它?
SET IDENTITY_INSERT EY_CMT_TestV2..CMT_M_DISPOSITION ON
Insert into CMT_M_DISPOSITION (DispositionKey, DispositionValue)
values (MAX(DispositionKey) + 1, 'Newest')
SET IDENTITY_INSERT EY_CMT_TestV2..CMT_M_DISPOSITION OFF
答案 0 :(得分:0)
SET IDENTITY_INSERT EY_CMT_TestV2..CMT_M_DISPOSITION ON
Insert into CMT_M_DISPOSITION(DispositionKey,DispositionValue) select MAX(DispositionKey) + 1, 'Newest' from CMT_M_DISPOSITION
SET IDENTITY_INSERT EY_CMT_TestV2..CMT_M_DISPOSITION OFF
标识插入允许您插入显式值(在本例中为INSERT INTO ... SELECT中定义的显式值),因此需要在插入之前将其打开。