需求描述:( Mysql5.1 )
有个表A中含有触发器,来自动维护另一个表B的数据.
为了某个需求,我做了一个存储过程,来进行批量的insert和 update表A;
当我一执行这个存储过程时,系统就死掉了.因为表A有触发器.而触发器还挺复杂的.我想mysql有没有办法暂停触发器的执行.当我完成批量insert和update后,在存储过程中添加代码去维护表B;然后再重新启动触发器.
或者实在不行.在过程前面先drop掉触发器,等我完成操作后,在存储过程中重新创建触发器.
这两种方法哪种可行呢?又如何实现呢?
着急啊!送上100分.谢谢各位高手赐教.
有个表A中含有触发器,来自动维护另一个表B的数据.
为了某个需求,我做了一个存储过程,来进行批量的insert和 update表A;
当我一执行这个存储过程时,系统就死掉了.因为表A有触发器.而触发器还挺复杂的.我想mysql有没有办法暂停触发器的执行.当我完成批量insert和update后,在存储过程中添加代码去维护表B;然后再重新启动触发器.
或者实在不行.在过程前面先drop掉触发器,等我完成操作后,在存储过程中重新创建触发器.
这两种方法哪种可行呢?又如何实现呢?
着急啊!送上100分.谢谢各位高手赐教.
没有
或者实在不行.在过程前面先drop掉触发器,等我完成操作后,在存储过程中重新创建触发器.
不能在SP中创建,
用mysql -uroot -p123 <R:\TEMP\AA.TXT
其中AA。TXT为TRIGGER代码
mysql既不支持trigger的disable,也没法在存储过程中创建trigger.这可怎么办啊.好惨.
用mysql -uroot -p123 <R:\TEMP\AA.TXT
其中AA。TXT为TRIGGER代码
mysql -uroot -p123 <R:\TEMP\AA.TXT 能在存储过程中调用吗?好像不能.....
mysql -uroot -p123 <R:\TEMP\AA.TXT
是在系统的命令行下运行的
在SHELL的脚本中或者你的程序中来实现这个 drop / create trigger 的动作。
1先锁表.
2删除触发器
3执行存储过程:这里不删除触发器了,只在最后实现触发器的部分功能.
4添加触发器
5解锁两位老大,还有遗漏吗?