📄 subject_44510.htm
字号:
<p>
序号:44510 发表者:我要飞 发表日期:2003-06-20 16:40:38
<br>主题:关于触发器的问题
<br>内容:表的触发器出错,事务回滚时,对此表的操作(例如插入记录)是否也回滚!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:要省钱 回复日期:2003-06-20 19:52:51
<br>内容:应该不回滚!~~~~
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:我要飞 回复日期:2003-06-21 11:16:03
<br>内容:我要让它回滚怎么弄呢,用存储过程做成一个事务,可以吧!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:要省钱 回复日期:2003-06-21 13:29:04
<br>内容:create trigger tr_t1_in on table1<BR>for insert<BR>as<BR><BR>declare @insert_error int<BR><BR>update table2 <BR>set 字段=a.字段<BR>from inserted a<BR>where tabl2.id=a.id<BR><BR>select @insert_error=@@error<BR>if (@insert_error<>0)<BR>rollback tran<BR><BR><BR>如果通过SP写,就不需要在用TRIGGER,也许我对TRIGGER比较反感。你可以直接在STORED PROCEDURE中实现。<BR><BR>CREATE PROC TEST<BR>(<BR> COLUMN1 ....<BR>)<BR>AS<BR>DECALRE @RC INT<BR>SELECT @RC=0<BR><BR>BEGIN TRAN TEST<BR> INSERT INTO.....<BR> SELECT @RC=@@ERROR<BR> IF @RC=0<BR> EXEC @RC=SP_INSERT --INSERT INTO ANOTHER TABLE<BR> IF @RC<>0<BR> ROLLBACK TRAN TEST<BR> ELSE<BR>COMMIT TRAN TEST<BR><BR>//转发<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:ax 回复日期:2003-06-21 13:34:24
<br>内容:不用做成事务,触发器会自动回滚的,而且是与之相级连的任何的触发器出错,都会完全回滚.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:要省钱 回复日期:2003-06-21 15:48:06
<br>内容:谢谢ax指点!~~
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:我要飞 回复日期:2003-06-22 08:19:03
<br>内容:我怎么才能知道它出错回滚了呢?如何判断?是用@@error吗?<BR>2003-6-22 8:33:03
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -