【问题标题】:How can I see the result of an update without actually run it如何在不实际运行的情况下查看更新结果
【发布时间】:2014-11-29 21:33:50
【问题描述】:

在 SQL Server 中,如何在不实际运行的情况下查看更新结果?

(我知道有办法(我以前用过,但忘了怎么用了)。


我过去实现它的方式不是通过事务或记录结果,而是通过将结果选择到临时表(我认为),有人知道怎么做吗?

【问题讨论】:

  • 您可以在事务中运行update,在日志中打印结果,然后回滚而不是提交
  • 创建数据库副本并进行测试
  • 我过去的做法不是通过事务或记录结果,而是通过选择结果到临时表(我认为),有人知道怎么做吗?跨度>
  • 您在寻找SELECT … INTO …stackoverflow.com/questions/11114441/… 吗?

标签: sql sql-server


【解决方案1】:

可能性:

  1. 运行它,不提交然后回滚(但在回滚之前会导致锁定),请参阅http://msdn.microsoft.com/de-de/library/ms174973.aspx

  2. 使用BEGIN TRANSACTIONROLLBACK TRANSACTIONOUTPUT Clause,根据以下答案:How do I preview a destructive SQL query?(@hatchet 和@MarcinJuraszek 提到)

    BEGIN TRANSACTION
      UPDATE [table] SET [values] OUTPUT inserted.*
    ROLLBACK TRANSACTION
    
  3. 将您的 UPDATE 语句转换为 SELECT 语句

【讨论】:

  • @road242,我过去的做法不是通过事务或记录结果,而是通过选择结果到临时表(我认为),你知道如何实现是吗?
猜你喜欢
  • 1970-01-01
  • 2020-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-07
  • 2020-08-18
  • 2012-05-02
  • 2022-01-20
相关资源
最近更新 更多