以前有的,找出来给你参考CREATE proc dbo.dt_test asBEGIN TRANSACTION
insert into test(code,name) values('11','xyz1')
If @@error<>0
GOTO ErrHandler
insert into test(code,name) values('11','xyz2')
If @@error<>0
GOTO ErrHandler
insert into test(code,name) values('11','xyz3')
If @@error<>0
GOTO ErrHandler
COMMIT TRANSACTION
RETURN
Errhandler:
ROLLBACK TRAN
GO
insert into test(code,name) values('11','xyz1')
If @@error<>0
GOTO ErrHandler
insert into test(code,name) values('11','xyz2')
If @@error<>0
GOTO ErrHandler
insert into test(code,name) values('11','xyz3')
If @@error<>0
GOTO ErrHandler
COMMIT TRANSACTION
RETURN
Errhandler:
ROLLBACK TRAN
GO
因为明细的记录个数不固定。