日期:2014-05-17  浏览次数:20419 次

insert并没有成功,但FOR INSERT的触发器却执行了
本帖最后由 zyaim 于 2012-11-06 11:20:03 编辑
如题。
按我的理解,for insert的触发器一定要是在插入成功之后才执行的,可是,实际情况是并没有插入成功,只是去尝试插入,但触发器还是执行了。请教一下,这可能是什么原因呢?
------解决方案--------------------
我遇到过一起情况,虽然这种情况发生机会其实很小,但是还是检查一下吧。就是表中有不止一个触发器,其中一个是删除的,这是真实情况,我插入一条数据,提示成功了,但是表里面没数据,找了很久才发现原来有人搞了个触发器,插一条删一条。
------解决方案--------------------
有insert语句就会触发,但是执行之后会回滚。
------解决方案--------------------
如果是因为插入出错而未插入成功,for insert的触发器是不可能被执行的
------解决方案--------------------
引用:
插入时没有错误提示,我现在猜想,可能是插入之后又把插入的记录删除了,所以,去表里看结果的话,就好像没有插入过一样。
你的猜想和1楼其实差不多,你好好检查下你这个表还有没有其他触发器