触发器中添加事务是否有意义?

ww1207128155 2015-03-29 06:49:41

CREATE TRIGGER RMSETB_INSERT_TR_C ON RMSETB
AFTER INSERT
AS
BEGIN
BEGIN TRAN
UPDATE RMSETB SET ETB980=DEA024,ETB981=DEA024*B.ETB008 FROM RMSETB B
INNER JOIN TPADEA ON ETB003=DEA001
INNER JOIN inserted I ON B.ETB000=I.ETB000 AND B.ETB001=I.ETB001 AND B.ETB002=I.ETB002
IF @@ERROR<>0
ROLLBACK TRAN
ELSE
COMMIT TRAN
END


如上面的代码,在触发器中添加事务是否有意义呢?
...全文
312 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
swordmanli 2015-06-09
  • 打赏
  • 举报
回复
我认为不应该加,加了会适得其反。 应该是在外部调用方统一管理事务。如jdbc调用时,有jdbc来启用和关闭事务。
xiaoxiangqing 2015-03-31
  • 打赏
  • 举报
回复
不要执行太多操作,否则会发生死锁
江南小鱼 2015-03-30
  • 打赏
  • 举报
回复
触发器本身就是事务运行,单个触发,加事务没必要也没意义。
还在加载中灬 2015-03-30
  • 打赏
  • 举报
回复
触发器的实现,SQLSERVER本身就是以一个事务的方式来的
卖水果的net 版主 2015-03-30
  • 打赏
  • 举报
回复
没什么实际意思,可能是存储过程写的多,习惯性的把这个加上了。
中国风 2015-03-30
  • 打赏
  • 举报
回复
--注意Rollback时,会把外层事务一起回滚 掌握需要自己去测试
中国风 2015-03-30
  • 打赏
  • 举报
回复
贴出来的没意义 如果有多次操作,如两次或以上更新时需要加事务
LongRui888 2015-03-29
  • 打赏
  • 举报
回复
可以添加事务,但是这么写 不会报错吗?

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧