我有一个包含四个字段ID,代码,国家/地区,价格的数据库。我想复制一种产品并增加价格。
示例:对于对象(1,'玩具','我们',100),我想得到一个价格为+10的新对象(2,'玩具','我们',110)。
这样的事情:
INSERT INTO Table
( ID
....,
Price
)
(SELECT ID
....,
Price+10)
有可能吗? 感谢
答案 0 :(得分:0)
如果满足以下条件之一,则可以这样做:
ID
是IDENTITY
列,或ID
制作一个公式,用于生成要插入的ID
列。对于IDENTITY
列解决方案,请忽略INSERT
语句中的ID,如下所示:
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)
答案 1 :(得分:0)
是的,您可以在SELECT
声明中使用INSERT INTO
:
INSERT INTO Table(ID,..., Price)
SELECT 2, ..., Price+10
WHERE ID = 1