0
后继续运行这是我试着运行的查询。我正在测试一个ROLLBACK,因为我们需要在一个任务中完成它。执行查询在ROLLBACK TRANSACTION被称为
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的感谢
您如何结束交易? – aug 2013-03-16 05:07:43
如果表被锁定。你可以使用'KILL'来检查表锁和'KILL'的过程。正确运行查询只是删除行'IF @var> 0' – SAM 2013-03-16 05:26:02
我无法使用KILL命令,因为我没有访问权限(我不是服务器的所有者),但我认为事务超时并且查询再次正常工作。非常感谢。我再也不会那么做了--_-。 – aug 2013-03-16 05:35:41