批量更新运行时触发器不执行

发布于 2024-08-24 00:31:59 字数 278 浏览 6 评论 0原文

我正在使用 VB.Net 2008 和 ADO.Net 对 Oracle 数据库进行批量更新。 更新正在工作,但在更新行以强制执行成员的终止终止日期之前,表上有一个触发器。 因此,如果我尝试将终止日期(通过批量更新)设置为 2010 年 1 月 31 日,但该会员的索赔是在 2010 年 2 月 2 日处理的,则触发器将强制终止日期为 2 -2010 年 2 月。 但是,批量更新运行时触发器未执行?

是否有任何 Oracle DB 管理选项可以禁用批量更新触发器?

I am using VB.Net 2008 and ADO.Net to do a Batch Update to our Oracle database.
The updates are working, but there is a trigger on the table before the row is updated to enforce a member's termination termination date.
So if I was trying to set the termination date (via the batch update) to 31-Jan-2010 but the member had a claim that was processed on 2-Feb-2010 the trigger would force the termination date to be 2-Feb-2010. However, the trigger is NOT executing when the batch update runs?

Is there any Oracle DB Admin option that would disable Triggers on Batch Update?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

等风也等你 2024-08-31 00:31:59

通过 SQL*Loader 的直接路径加载可以禁用和重新启用触发器,如所述 这里

批量更新是做什么的。也许如果它执行 DELETE+INSERT,而不是 UPDATE,那么触发器将不会触发。

A direct path load through SQL*Loader can disable and reenable triggers as described here

What does the batch update do. Maybe if it does a DELETE+INSERT, rather than an UPDATE, then the trigger won't fire.

九厘米的零° 2024-08-31 00:31:59

alter trigger 命令可用于禁用触发器,

ALTER TRIGGER trigger_name DISABLE

这将显示所有触发器的启用/禁用状态,

select trigger_name, status from user_triggers

The alter trigger command can be used to disable a trigger,

ALTER TRIGGER trigger_name DISABLE

This will show the enabled/disabled status of all triggers,

select trigger_name, status from user_triggers
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文