拥有一个非常活跃的PK Int Iden表
我需要的是:
update table
set statusID = 7, folderID = 12
where PK = ( select MIN(PK) from tbl where statusID = 5)
我想要的是PK值,或者如果没有状态= 5,那么某些指示器就会失败。
答案 0 :(得分:1)
如果是SQL Server 2005+,您可以使用OUTPUT
clause返回更新行的PK:
update table
set statusID = 7, folderID = 12
output inserted.PK
where PK = ( select MIN(PK) from tbl where statusID = 5)
上述语句将(尝试)使用从子查询返回的PK更新行,并且返回具有单个列PK
的行集。返回的行集将包含更新的行的PK,如果没有更新,则不包含任何内容。