insert并没成事功,但FOR INSERT的触发器却执行了
insert并没有成功,但FOR INSERT的触发器却执行了本帖最后由 zyaim 于 2012-11-06 11:20:03 编辑如题。按我
insert并没有成功,但FOR INSERT的触发器却执行了 本帖最后由 zyaim 于 2012-11-06 11:20:03 编辑 如题。 按我的理解,for insert的触发器一定要是在插入成功之后才执行的,可是,实际情况是并没有插入成功,只是去尝试插入,但触发器还是执行了。请教一下,这可能是什么原因呢?[最优解释] 我遇到过一起情况,虽然这种情况发生机会其实很小,但是还是检查一下吧。就是表中有不止一个触发器,其中一个是删除的,这是真实情况,我插入一条数据,提示成功了,但是表里面没数据,找了很久才发现原来有人搞了个触发器,插一条删一条。[其他解释]
引用: 插入时没有错误提示,我现在猜想,可能是插入之后又把插入的记录删除了,所以,去表里看结果的话,就好像没有插入过一样。 你的猜想和1楼其实差不多,你好好检查下你这个表还有没有其他触发器
[其他解释] 有insert语句就会触发,但是执行之后会回滚。
[其他解释] 如果是因为插入出错而未插入成功,for insert的触发器是不可能被执行的
[其他解释] 谢谢,你误会我意思了。我纠结的不是插入失败,我纠结的是插入失败了,但为什么FOR INSERT的触发器却依旧执行
[其他解释] create TRIGGER tr_xxxxx
ON table1
FOR INSERT
AS
BEGIN
.......
[其他解释] 怪了。有尝试插入,但是并未插入成功,可是for insert的触发器还是执行了,也并没有回滚。
(我都成祥林嫂了)
[其他解释] 插入时没有错误提示,我现在猜想,可能是插入之后又把插入的记录删除了,所以,去表里看结果的话,就好像没有插入过一样。
[其他解释] 引用: 插入时没有错误提示,我现在猜想,可能是插入之后又把插入的记录删除了,所以,去表里看结果的话,就好像没有插入过一样。 兜个圈回来怎么还是我的猜想啊?
[其他解释] 引用: 引用:插入时没有错误提示,我现在猜想,可能是插入之后又把插入的记录删除了,所以,去表里看结果的话,就好像没有插入过一样。兜个圈回来怎么还是我的猜想啊? 哈哈,一楼威武
[其他解释] 我比较在乎你问题找到没?
[其他解释] 引用: 我比较在乎你问题找到没? 谢谢在乎,后来没去鸟那个问题了,越鸟越头疼,我饶道行驶了。