Nếu tôi exec đợt này:Khi lỗi dừng thực thi trong SQL Server?
begin transaction
PRINT 'start'
PRINT 1/0
PRINT 'continue'
drop table dbo.tblPrueba
select * from dbo.tblPrueba
PRINT 'finish'
rollback transaction
Các ouput là thế này:
start
Msg 8134, Level 16, State 1, Line 3
Divide by zero error encountered.
continue
Msg 208, Level 16, State 1, Line 6
Invalid object name 'dbo.tblPrueba'.
Tôi buộc hai lỗi: - người đầu tiên: PRINT 1/0 (mà tạo ra lỗi này :
Msg 8134, Level 16, State 1, Line 3
Divide by zero error encountered.
) Và tiếp tục thực hiện lô
- thứ hai:
drop table dbo.tblPrueba
select * from dbo.tblPrueba
Đó tạo ra lỗi này:
Msg 208, Level 16, State 1, Line 6
Invalid object name 'dbo.tblPrueba'.
Và dừng thực hiện các đợt
là gì khác nhau giữa chúng? Tôi có thể tìm hiểu những người ngừng thực hiện và những người không thực hiện ở đâu?
Cảm ơn rất nhiều !!
@PankajGarg: Nếu bạn kết thúc bằng khối CATCH, tôi muốn Rollback.Tôi cũng sử dụng SET XACT_ABORT ON sẽ quay lại – gbn