如何在更新表时获取更新(不计数)行

时间:2009-09-12 05:53:03

标签: sql

我想获取更新命令更新的行,但结果只是更新的行数,但我想要整个行,如select命令,所以请告诉我是否有人对它有任何想法。 我正在尝试这个。

update newTable set readKey='1' where id in (select id from newTable where id='1111')

此命令的结果将只是行没有完整的行,但我希望显示整行。

1 个答案:

答案 0 :(得分:8)

首先,您可以为您编写更简单的代码:

update newTable set readKey='1' where id in ('1111')

在SQL Server中,这将仅返回已更新的行数,但仅在未设置SET NOCOUNT时才会返回。

基本上你可以做第二个查询,在第一个查询之后显示结果:

update newTable set readKey='1' where id in ('1111');
select * from newTable where id in ('1111');

或者,如果这是SQL Server 2005/2008,那么您可以使用OUTPUT子句:

update  newTable 
set     readKey='1'
output  inserted.id,
        inserted.readKey as readKey,
        deleted.readKey as prevReadKey
where id in ('1111');