我有两个数据库。像编辑,插入到一个的更改也需要对第二个进行,反之亦然。
实际上,一个数据库是旧的遗留数据库(具有非常糟糕的实体 - 关系结构)和用户当前使用的遗留应用程序前端。 第二个数据库是一个新建的,更好的重建遗产与一个单独的应用程序。前端。
我希望两个应用程序(分别访问旧数据库和新数据库)同时运行,以便用户可以选择使用这两个应用程序,并且可以在另一个应用程序中看到一个应用程序中的更改。
我想编写调用存储过程的触发器,这些触发器重构数据并将其放在相反的数据库中。
我的问题是:
triggers >call> stored procedures >call> database.
谷歌上有很多链接,但没有一个是有用的。我想知道MySQL和Java在MySQL触发器方面是否协同工作?有可能吗?有没有更好的方法来实现我的需求?
答案 0 :(得分:2)
触发器是命名数据库对象。它们定义了某些数据库相关事件发生时数据库应采取的一些操作。它们是用SQL编写的。它们的执行对用户是透明的。您像往常一样编写Java JDBC代码,DBMS将在必要时自动执行适当的触发器。
mysql> delimiter //
mysql> CREATE TRIGGER insert_trigger BEFORE INSERT ON Customer
-> FOR EACH ROW
-> BEGIN
-> UPDATE Customer SET Price=Price-10 WHERE CustomerGroup=32 and CityCode=11;
-> END;
-> //
This示例向您展示如何使您的触发器写入另一个数据库。注意自动增量属性。
我认为你应该忘记MySQL中的Java存储过程,但是你总是可以将业务逻辑移到你自己的Java程序中。