Sql 调用回滚事务后,执行查询将继续运行
这是我尝试运行的查询。我在测试回滚,因为我们需要在作业中进行回滚Sql 调用回滚事务后,执行查询将继续运行,sql,database,transactions,sql-server-2012,Sql,Database,Transactions,Sql Server 2012,这是我尝试运行的查询。我在测试回滚,因为我们需要在作业中进行回滚 BEGIN TRANSACTION; declare @var bit; set @var = 0; BEGIN TRY INSERT INTO Orders(ShippingAddress, BillingAddress, Status, Date, ID, CustomerID, Total, BillingInfo) VALUES('10 King Road', '10 King Road', 'Pen
BEGIN TRANSACTION;
declare @var bit;
set @var = 0;
BEGIN TRY
INSERT INTO Orders(ShippingAddress, BillingAddress, Status, Date, ID, CustomerID, Total, BillingInfo)
VALUES('10 King Road', '10 King Road', 'Pending', '2013-03-15 07:58:55.760', 16, 1, 145.95, 'Put it on my doorstep please.');
END TRY
BEGIN CATCH
IF @var > 0
ROLLBACK TRANSACTION;
END CATCH;
IF @var > 0
COMMIT TRANSACTION;
成功运行后,我尝试从订单执行
SELECT*FROM Orders
,现在SQL Server只尝试永远运行ExecuteQuery
。。。我的搭档也有同样的问题,但是我们其他的桌子都很好用。有人知道这是什么原因吗?我正在使用Microsoft SQL Server 2012。谢谢什么是@var
,什么时候是>0。如果@var
未更改为1
已启动事务
从不提交
或回滚
。因此,表将被锁定,直到事务结束。如何结束事务?如果表被锁定。您可以使用KILL
检查表锁和KILL
进程。要正确运行查询,只需删除行IF@var>0
,我无法使用KILL命令,因为我没有访问权限(我不是服务器的所有者),但我认为事务超时,查询再次正常工作。非常感谢你。我再也不会那样做了。