跨不同数据库创建触发器

时间:2009-12-02 13:00:47

标签: mysql android sqlite

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

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

现在我必须在t1上使用触发器(无论何时执行任何删除和更新操作),必须将值插入t2。

等待您的反馈......

3 个答案:

答案 0 :(得分:3)

我只能代表MySQL,但你应该可以做类似的事情:

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

答案 1 :(得分:2)

除了mysql之外,您使用的其他数据库是什么?如果Oracle是其中之一,那么您可以创建从Oracle到其他数据库的dblinks,并且您的触发器(在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的另一个答案。

答案 2 :(得分:0)

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

检查here