Detecting and Reporting Errors in Stored Procedures - Part 1: SQL Server 2000 http://www.sqljunkies.com/Article/564F5D77-2F7E-41FB-91C7-353B6D84BF94.scuk
理解错你的意思了,呵呵 SQL Server 中默认的行为将是只回滚产生该错误的语句,而前边没有产生错误的语句将不会回滚
--创建测试环境 create table A ( ID int primary key )--测试 insert A select 1 insert A select 2 insert A select 3 insert A select 4 insert A select 1 --主键重复,发生错误,但其他语句仍然被执行 insert A select 5--查询 select * from A--删除测试环境 drop table A--结果 /* ID ----------- 1.00 2.00 3.00 4.00 5.00(所影响的行数为 5 行) */
http://www.sqljunkies.com/Article/564F5D77-2F7E-41FB-91C7-353B6D84BF94.scuk
我刚才测试了一下,好象循环不会停止,我的目的就是不让循环因为异常不走了.
就是一个try,catch的写法.
SQL Server 中默认的行为将是只回滚产生该错误的语句,而前边没有产生错误的语句将不会回滚
create table A
(
ID int primary key
)--测试
insert A select 1
insert A select 2
insert A select 3
insert A select 4
insert A select 1 --主键重复,发生错误,但其他语句仍然被执行
insert A select 5--查询
select * from A--删除测试环境
drop table A--结果
/*
ID
-----------
1.00
2.00
3.00
4.00
5.00(所影响的行数为 5 行)
*/