2009-12-02 40 views
2

有什么方法可以在不同的数据库上创建触发器吗?我的要求是这样的: -在不同的数据库中创建触发器

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

现在我必须在T1使用触发器(任何时候删除和更新操作)在t1上发生的值必须被插入到T2。

等待您的反馈...

+0

你能做到这一点的SQLite的?谢谢 – 2014-04-02 09:05:53

回答

1

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

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

下面是从Oracle dblinks到MySQL特定的链接: http://www.dba-oracle.com/t_how_create_database_link.htm

3

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

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

看起来你需要链接服务器(MSSQL)或dblink(Oracle)的MySQL等价物。有一个叫什么的联合存储引擎:

检查here