【问题标题】:creating trigger across different databases跨不同数据库创建触发器
【发布时间】:2023-03-02 22:58:02
【问题描述】:

有没有办法在不同的数据库上创建触发器?我的要求是:-

 database: a1.db consist table: t1
 database:a2.db  consist table: t2

现在我必须在 t1 上使用触发器(只要任何删除和更新操作)发生在 t1 上,一个值必须插入到 t2。

等待您的反馈...

【问题讨论】:

  • 你能在 SQLite 上做到这一点吗?谢谢

标签: mysql android sqlite


【解决方案1】:

我只能为 MySQL 说话,但你应该可以这样做:

CREATE TRIGGER ad_t1 AFTER DELETE ON `a1.db`.t1
FOR EACH ROW
INSERT INTO `a2.db`.t2 VALUES (...)

【讨论】:

    【解决方案2】:

    除了mysql,你还在用什么数据库?如果 Oracle 是其中之一,那么您可以创建从 Oracle 到其他数据库的 dblink,并且您的触发器(在 Oracle 上运行)可以使用这些 dblink 来更新其他数据库中的表。

    有关在 Oracle 中创建 dblink 的信息,您可以参考此链接: http://download.oracle.com/docs/cd/B12037_01/server.101/b10759/statements_5005.htm

    另外,请参阅此链接 (How to create a DB link between two oracle instances) 以获取有关 stackoverflow 的另一个答案。

    【讨论】:

    • @Mariusz.W - 删除并添加了指向另一个 SO 答案的链接,因为旧链接似乎不再存在。
    【解决方案3】:

    看起来您需要 MySQL 等效的链接服务器 (MSSQL) 或 dblink (Oracle)。有一种叫做 FEDERATE 存储引擎的东西:

    查看here

    【讨论】:

      猜你喜欢
      • 2012-05-28
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 2011-04-06
      • 1970-01-01
      • 2013-03-15
      • 1970-01-01
      • 2015-09-14
      相关资源
      最近更新 更多