Sql update语句,有没有办法知道它实际上做了什么?

Sql update语句,有没有办法知道它实际上做了什么?,sql,sql-server-2000,Sql,Sql Server 2000,通常,我通过使用where语句运行查询来测试更新,然后在验证它是否执行了我认为需要的操作之后,将where子句复制到update语句并执行它。但是,除了“4行更新”之外,还有什么方法可以让语句返回更新所做的事情呢?当然,请看一下T-SQL的output子句 您可以将记录加载到SQL Server中的临时表/变量中: DECLARE @Temp TABLE(ID INT) INSERT INTO @Temp (ID) SELECT ID FROM Customer WHERE Acct

通常,我通过使用where语句运行查询来测试更新,然后在验证它是否执行了我认为需要的操作之后,将where子句复制到update语句并执行它。但是,除了“4行更新”之外,还有什么方法可以让语句返回更新所做的事情呢?

当然,请看一下T-SQL的output子句

您可以将记录加载到SQL Server中的临时表/变量中:

DECLARE @Temp TABLE(ID INT)

INSERT INTO @Temp (ID) 
SELECT ID    
FROM Customer
WHERE AcctBalance > 5000

--inspect as needed

UPDATE Customer
SET AcctBalance = 0
WHERE ID IN (SELECT ID FROM @Temp)

这取决于您使用的服务器、库,在php中,返回受delete或update cluase影响的行数

您使用的是什么SQL server?这需要一个非常特定于实现的解决方案。您使用哪种数据库服务器?oyu使用哪种技术访问它?你能展示你的代码示例吗?您希望解决方案基于纯sql吗?(你还使用什么其他语言)抱歉,这是一个模糊的问题,但我正在寻找所有答案:)到目前为止,T-SQL的输出子句看起来很有趣@梅勒贝克-假设你已经正确标记,你将无法使用它,将不得不保持好奇!SQL Server 2000中不存在您刚才添加了该标记吗?可以发誓刚才不在那里!:对不起,是的,我需要习惯标签