我正在使用VB.Net 2008和ADO.Net对我们的Oracle数据库进行批量更新。 更新正在运行,但在更新行之前,表上有一个触发器以强制执行成员的终止终止日期。 因此,如果我尝试将终止日期(通过批量更新)设置为2010年1月31日,但该成员的索赔已于2010年2月2日处理,则触发器将强制终止日期为2 -Feb-2010。但是,当批量更新运行时,触发器不会执行?
是否有任何Oracle DB Admin选项可以在批量更新时禁用触发器?
答案 0 :(得分:2)
通过SQL * Loader的直接路径加载可以按照here所述禁用和重新启用触发器
批量更新有何功能。也许如果它执行DELETE + INSERT而不是UPDATE,则触发器不会触发。
答案 1 :(得分:0)
alter trigger命令可用于禁用触发器
ALTER TRIGGER trigger_name DISABLE
这将显示所有触发器的启用/禁用状态
select trigger_name, status from user_triggers