如何实现把多个updaet/insert语句写成一个事务?
我要对某一表中的所有记录逐条处理,每一条记录都要insert表1,update表2,我怎么样写才能让每一条记录的insert和update成为一个事务呢 存贮过程?还是其它语言? <p>用存储过程实现</p> <p>我想到用下面的方法实现,不知可行不</p><p>在一个游标里面,写下面的事务,总觉得这个办法有点罗嗦,大家有没有更好的办法?</p><p>declare @li int<br/>select @li=0</p><p>begin tran tran1</p><p>insert table1 ....<br/>if @@error<>0 select @li=@li+1</p><p>update table2 ...<br/>if @@error<>0 select @li=@li+1</p><p>if ...<br/> insert table3...<br/>else <br/> update table3...</p><p>if @@error<>0 select @li=@li+1</p><p>if @li=0 <br/> commit tran tran1<br/>else <br/> rollback tran tran1 <br/></p> <p>insert和update之间有什么联系呢?是临时的一个处理么?</p><p>不大明白你的意图。</p>
页:
[1]