TRUNCATE TABLE tmp
BEGIN TRAN
BEGIN TRY
INSERT INTO dbo.tmp( c1 ,c2 ,c3 )
VALUES(1,1,1)
SELECT 1/0
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0 BEGIN ROLLBACK END
END CATCH
IF @@TRANCOUNT > 0 BEGIN COMMIT END
注,@@TRANCOUNT:
1)BEGIN TRANSACTION 语句将 @@TRANCOUNT 加 1。
2)ROLLBACK TRANSACTION 将 @@TRANCOUNT 递减到 0,
但 ROLLBACK TRANSACTION savepoint_name 除外,它不影响 @@TRANCOUNT。
3)COMMIT TRANSACTION 或 COMMIT WORK 将 @@TRANCOUNT 递减 1。
【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
上一篇: 查询当前事务中的锁,及相关sql语句
下一篇: 扫描一定比查找慢吗