SQL错误处理--SQLSERVER错误处理机制--------------------------------------------------------
--代码1
u northwind
存在符号inrt into region values(1,'2424')
lect 'aa'
inrt into region values(42,'2424')
lect 'aa'冰心原名什么
鸡腿蘑菇图片
--------------------------------------------------------
同时执⾏上⾯四条语句,执⾏第⼀条时提⽰出错,
出错后继续执⾏第⼆、第三、第四条语句,
春节简短祝福语SQLSERVER在错误处理⽅⾯与很多⾼级编程语⾔不⼀样,⾼级语⾔(VB、C#等)⾥,
海滩冲浪当⼀条语句出错,则程序终⽌执⾏,⽴即转到错误处理处,
--------------------------------------------------------
--代码2
拜年话u northwind
inrt into region values(1,'2424',24,43)
lect 'aa'
inrt into region values(42,'2424',24,43)
lect 'aa'
--------------------------------------------------------
执⾏上⾯的语句,发现⼀条语句都没执⾏,包括第⼀条语句都没执⾏,
因为这属于编译错误,编译期错误不会执⾏任何语句。
⽽第⼀段代码是运⾏时错误,如果要求出现运⾏时错误就⽴即终⽌执⾏,需要⽤:
--------------------------------------------------------
--代码3
t xact_abort on --设置出错后终⽌执⾏
u northwind
print '1'
inrt into region values(1,'2424') --执⾏到这⾥出错,
print '2'
inrt into region values(42,'2424')
print '3'
--------------------------------------------------------
上⾯的语句,设置:t xact_abort on
执⾏到出错语句后,后⾯的语句都不执⾏了。
--------------------------------------------------------
t xact_abort on
促进造句u northwind
print '1'
油渍怎么去除rairror('1413',14,1)
print '2'
inrt into region values(42,'2424')
print '3'
--------------------------------------------------------
上⾯语句,设置:t xact_abort on
抛出⾃定义错误,抛出后,后⾯的语句还是⼀样继续执⾏。
另外,对于@@error,只能在执⾏语句后就⽴即查看@@error,如果⼜执⾏了其它语句,@error会重置的。