【问题标题】:Does Alter table commits Transaction in sql server 2005sql server 2005中的Alter表是否提交事务
【发布时间】:2014-10-31 06:55:13
【问题描述】:

我想在事务中使用alter table 语句。我只想确认alter语句是否提交事务。如果是这样,我想避免此提交,以便如果 statement4 失败,我也可以回滚 statement1。任何建议。

我的代码是这样的:

Begin transaction
    statement 1
    statement 2
    ALTER TABLE table_name DISABLE TRIGGER tr_name
    statement 3
    statement 4
Commit transaction.

【问题讨论】:

  • 如果你在做 SQL Server 开发,你真的应该有一个你可以搞砸的实例(Express 版是免费的,所以成本不应该是问题)。您本可以在比提出问题的时间更短的时间内自己进行实验。
  • @Damien_The_Unbeliever :实际上我现在没有 sql server,我必须给出答案。这就是我问它的原因。否则我会执行它。

标签: sql-server sql-server-2005 transactions


【解决方案1】:

在您开始交易之前。

添加 SET XACT_ABORT ON;

喜欢

SET XACT_ABORT ON;
Begin transaction
  your transation content
COMMIT TRANSACTION;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 1970-01-01
    相关资源
    最近更新 更多