当我在SQL Server 2014中尝试使用php时,它工作正常,但现在SQL Server 2008报告了以下错误: 关键字' END'附近的语法不正确。 有什么想法吗?
BEGIN TRANSACTION
BEGIN TRY
INSERT ...
INSERT ...
COMMIT TRANSACTION
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
END CATCH
INSERTS是正确的。如果我删除了TRY CATCH,它就可以工作。
谢谢!
答案 0 :(得分:2)
您需要在Try块中移动Begin TRANSACTION 以下是您可以参考的修改
BEGIN TRY
BEGIN TRANSACTION
INSERT...
INSERT...
COMMIT TRANSACTION
END TRY
BEGIN CATCH
IF (@@TRANCOUNT > 0)
BEGIN
ROLLBACK TRANSACTION
PRINT 'Error detected, all changes reversed'
END
END CATCH