3
我有一个现有的表,由于某种原因,设计者决定通过将最后一次使用的值存储在单独的表中来手动控制主键值(更改要使用的表的身份不是选项现在)。SQL:在插入过程中自动增量值
我现在需要做一个大规模更新这个表如下:
DECLARE @NeedFieldID int
SET @NeedFieldID = 62034
INSERT INTO T_L_NeedField (NeedID, NeedFieldID, FieldName, Sequence, DisplayAs, FieldPrompt, DataType, ValidOptions, IsRequiredForSale)
(
SELECT
DISTINCT n.NeedID,
@NeedFieldID + 1,
'DetailedOutcome',
999,
'Detailed Outcome',
'Select appropriate reason for a No Sale outcome',
'T',
'Pricing, Appointment Date/Time Not Available, Will Call Back, Declined',
0
FROM T_L_Need n
INNER JOIN T_L_NeedField nf
ON n.NeedID = nf.NeedID
WHERE (n.Need LIKE 'Schedule%' AND n.Disabled = 0)
)
显然“@NeedFieldID + 1”不(只是用它来展示一下我想要做的)工作。我如何增加@NeedFieldID作为SQL插入每个不同的NeedId的值?我使用SQL Server 2008的
谢谢,这个伎俩! – BrianKE 2012-01-04 19:19:38