插入符合特定条件的任何记录的副本

时间:2018-06-23 16:01:32

标签: sql sql-server

很抱歉这个天真的问题,但是我对SQL还是比较陌生。有人可以帮我写一个SQL代码(SQL Server 2014)吗?

我有一个包含10列的表“ A”。第9列具有以下四个值中的任何一个:“ Test”,“ Hold”,“ Go”或“ Flag”

我想插入第9列的值=“ Hold”或“ Go”的任何记录的重复副本,并将其更改为值“ Step 3”。

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

您使用insert . . . select

insert into t (col1, . . . col10)
    select col1, . . . col8, 'Step 3', col10
    from t
    where col9 in ('Hold', 'Go');

如果其中一列是自动生成的,则将其忽略:

insert into t (col2, . . . col10)
    select col2, . . . col8, 'Step 3', col10
    from t
    where col9 in ('Hold', 'Go');