-1

我有 1 个表 table1 和一个选择查询

select col1 from table1 where id <= 10;

我想更新相同的记录

update table1 set col2 = 'some value' where id < 10;

我想在 1 个查询中执行这两个操作并获得选定的结果,以便我可以使用它。

我怎样才能做到这一点?

4

3 回答 3

1

您不能使用一个查询来更新和选择行,因为两者是不同的操作。因此,您需要编写 2 个不同的查询。

如果您不需要更新表并想要临时输出,那么@Yosi 为您提供了完美的解决方案。

于 2013-10-17T05:30:58.847 回答
0

你不必更新它,你是一个使用CASE声明:

SELECT col2 = CASE WHEN id<=10 THEN 'some value' ELSE col1 END
FROM table1
于 2013-10-17T05:21:47.543 回答
0

使用OUTPUT尝试此 sql 查询以获取更新的 vlaue

UPDATE persons  
SET LastName = 'test'
OUTPUT Inserted.LastName
where id<10;

如果更新后需要旧值:

UPDATE persons  
SET LastName = 'test'
OUTPUT DELETED.LastName
where id<10;

演示

于 2013-10-17T05:34:36.443 回答