日期:2014-05-18  浏览次数:20576 次

SQL 如何寫事務
怎樣在DTS裏加判斷語句,   若出錯就回滾.

------解决方案--------------------
if @@error <> 0
your code !
------解决方案--------------------
你用这些代码的结果如何,有出错么?有出错的话怎么不把错误提示给出来?
------解决方案--------------------
DTS包的属性里边可以设置事务操作,步骤如下:
1.DTS包启用事务。在DTS包属性里边,勾选“使用事务”和“成功完成包时提交”。
2.打开各步骤的“工作流属性”,切换到“选项”页面,勾选“有事务时连接”。

这样包里边各个步骤就会成为事务的一部分,全部成功时提交事务。出错时就回滚。
------解决方案--------------------
Create proc spTest_Test
as
begin TRAN
insert into denise_test(AAA,BBB,CCC)values( '0000 ', '0000 ', '0000 ')
if @@error <> 0 goto problem

insert into denise_test(AAA,BBB ,CCC)values( '2200002 ', '222 ', '222 ')
if @@error <> 0 goto problem

Commit TRAN
Return -- 少了返回,否则会继续外下执行

problem:
ROLLBACK TRAN
go