复制完成后运行程序

发布于 2024-10-13 10:05:14 字数 138 浏览 6 评论 0原文

我有 2 个数据库,并使用它们之间的复制来复制一个模式。 (Oracle Streams)

是否可以添加一个表触发器或类似的东西,以便在远程数据库中添加新数据后调用(对于每一行更好)?

我尝试更新和插入触发器 - 它们没有被触发。

I have 2 dbs and use replication between them to replicate one schema. (Oracle Streams)

Is it possible to add on one table trigger or smthing like this to be invoked after new data added in remote db (better for each row)?

I try triggers on update and insert - they are not fired.

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

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

发布评论

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

评论(2

苹果你个爱泡泡 2024-10-20 10:05:14

根据您尝试实现的逻辑类型,您可能需要创建自定义应用处理程序或包含自定义操作的应用规则。 《流概念和管理》手册中有关高级规则概念的章节 可能是一个开始查看可用选项的好地方。

Depending on exactly what sort of logic you are trying to implement, you would either want to create a custom apply handler or an apply rule that would include your custom actions. The chapter in the Streams Concepts and Administration manual on Advanced Rule Concepts is probably a good place to start to see what options are available.

巷雨优美回忆 2024-10-20 10:05:14

当我们在 2 个数据库之间复制表时,我们也会复制触发器。

但是在目标数据库上应用进程会在目标表上禁用触发器。

要强制在目标数据库上执行触发器,需要运行以下过程:

BEGIN
    DBMS_DDL.SET_TRIGGER_FIRING_PROPERTY('<trigger_owner>', 'trigger_name', FALSE);
END;

When we replicate tables between 2 dbs also we replicate triggers.

But apply process on dest db disable triggers on dest table.

To force trigger execution on dest db need to run such procedure:

BEGIN
    DBMS_DDL.SET_TRIGGER_FIRING_PROPERTY('<trigger_owner>', 'trigger_name', FALSE);
END;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文