根据Where子句

时间:2018-09-04 20:03:32

标签: sql sql-server tsql

我正在使用SQL Server2008。假设我有一个像这样的表(下面表示列名/类型):

ID - Int (Primary Key) [This is set to autoincrement]
X - varchar(MAX)
Y - varchar(MAX)
Z - varchar(MAX)

我正在尝试建立一个通用查询,该查询基于列之一的a值,该查询可以将现有记录的值复制到新记录中,更改某些列的值并自然增加ID。考虑下面的伪代码(我想不出一种方法来提取它:/):

1)

SELECT * 
FROM TABLE 
WHERE X = "Hello" 
INTO TEMPTABLE

2)

COPY RESULTS 
FROM TEMPTABLE 
INTO TABLE 
SET X = "HI HI HI" AND SET Y "HI!"

上述预期结果将是1)馈给2)中记录创建的结果集。应该自然地复制Z的值,因为我们没有另外设置它。

1 个答案:

答案 0 :(得分:3)

INSERT INTO foobar (x, y, z)
SELECT 'HI HI HI', 'HI!', z FROM foobar WHERE x = 'Hello'