【发布时间】:2012-02-20 15:38:08
【问题描述】:
如果我执行这批:
begin transaction
PRINT 'start'
PRINT 1/0
PRINT 'continue'
drop table dbo.tblPrueba
select * from dbo.tblPrueba
PRINT 'finish'
rollback transaction
输出是这样的:
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'.
我强迫两个错误: - 第一个:PRINT 1/0(产生这个错误:
Msg 8134, Level 16, State 1, Line 3
Divide by zero error encountered.
) 并继续执行批处理
- 第二个:
drop table dbo.tblPrueba
select * from dbo.tblPrueba
这会产生这个错误:
Msg 208, Level 16, State 1, Line 6
Invalid object name 'dbo.tblPrueba'.
并停止批处理的执行
它们之间有什么不同?我在哪里可以了解停止执行和不停止执行的那些?
非常感谢!!
【问题讨论】:
标签: sql-server execution