2009-09-12 28 views
3

我想获取由更新命令更新的行,但结果只有更新行的数量,但我希望整行作为选择命令,所以请告诉我,如果任何人有任何想法。 我正在尝试这个。如何获取更新表上的更新(不计数)行

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

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

+0

你使用哪个数据库系统? – 2009-09-12 06:00:42

回答

8

首先,你可以写你的代码simplier:

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服务器2005/2008,那么你可以使用OUTPUT条款:

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

非常感谢。 – Abhishek 2009-09-12 06:36:40