Sql Server按增量复制行并更改一列
我有一个db,有四个字段id、代码、国家、价格。我想复制一种产品并提高其价格 例如:对于对象(1,'Toy','us',100),我想得到一个价格+10的新对象(2,'Toy','us',110) 大概是这样的:Sql Server按增量复制行并更改一列,sql,copy,Sql,Copy,我有一个db,有四个字段id、代码、国家、价格。我想复制一种产品并提高其价格 例如:对于对象(1,'Toy','us',100),我想得到一个价格+10的新对象(2,'Toy','us',110) 大概是这样的: INSERT INTO Table ( ID ...., Price ) (SELECT ID ...., Price+10) INSERT IN
INSERT INTO Table
( ID
....,
Price
)
(SELECT ID
....,
Price+10)
INSERT INTO MyTable
( ..., Price
)
(SELECT ..., Price+10)
可能吗?
谢谢如果满足以下条件之一,则这是可能的:
是一列,或ID
- 给定原始列的
,您可以创建一个公式来生成要插入的列的ID
ID
IDENTITY
列解决方案,从INSERT
语句中省略ID,如下所示:
INSERT INTO Table
( ID
....,
Price
)
(SELECT ID
....,
Price+10)
INSERT INTO MyTable
( ..., Price
)
(SELECT ..., Price+10)
对于基于公式的解决方案,请为ID
添加公式:
INSERT INTO MyTable
(ID, ..., Price
) -- The formula for the new ID below is NewID = 10000+OldID
(SELECT ID+10000, ..., Price+10)
是的,您可以在
插入到语句中使用选择:
INSERT INTO Table(ID,..., Price)
SELECT 2, ..., Price+10
WHERE ID = 1