我有一个查询将值从一个表插入到另一个表中,如下所示。
INSERT into Workflow_CustomFormColumns
(CustomFormId
,ColumnNumber
,ColumnTitle
,ColumnType
,ColumnListValues
,IsRequired,ColumnWidth
,Calculation)
SELECT ColumnNumber
,ColumnTitle
,ColumnType
,ColumnListValues
,IsRequired
,ColumnWidth
,Calculation
FROM Workflow_CustomFormTypeColumns
WHERE CustomFormTypeId=66
and ColumnNumber>43
现在,对于CustomformID
中的WorkFlow_CustomformColumns
,我需要添加从250增加到300的值
答案 0 :(得分:6)
可以<{1}}中的row_number()
执行此操作:
insert
但是,我很难想到你真的想要这种情况。相反,哟通常会生成INSERT into Workflow_CustomFormColumns(CustomFormId, ColumnNumber, ColumnTitle,
ColumnType, ColumnListValues, IsRequired, ColumnWidth, Calculation
)
SELECT 249 + row_number() over (order by (select NULL)) as CustomerFormId,
ColumnNumber, ColumnTitle, ColumnType, ColumnListValues, IsRequired,
ColumnWidth, Calculation
from Workflow_CustomFormTypeColumns
where CustomFormTypeId = 66 and ColumnNumber > 43;
和CustomerFormId
列,并让数据库为ID分配唯一的数字。
答案 1 :(得分:0)
如果CustomFormId是标识列,那么我们可以使用DBCC CHECKIDENT
在插入数据之前使用RESEED new_reseed_value
指定新的种子值:
DBCC CHECKIDENT ('dbo.Workflow_CustomFormColumns', RESEED, 250);