1

我有两个数据库。对第二个进行编辑、插入等更改也需要对第二个进行,反之亦然。

实际上,一个数据库是旧的遗留数据库(具有非常糟糕的实体关系结构)和用户当前使用的遗留应用程序前端。第二个数据库是新构建的,使用单独的应用程序对旧有更好的重组。前端。

我希望两个应用程序(分别访问旧数据库和新数据库)同时运行,以便用户可以选择同时使用这两个应用程序,并且一个应用程序中的更改在另一个应用程序中是可见的。

我想编写调用存储过程的触发器,它重构数据并将其放入对面的数据库中。

我的问题是:

  • 我的执行路线是应该的吗?我是说,triggers >call> stored procedures >call> database.
  • 触发器/存储过程可以用Java编写吗?
  • 有什么好的/推荐的技巧、教程等吗?

google 上有很多链接,但没有一个有用。我想知道在 MySQL 触发器方面 MySQL 和 Java 是否一起工作?有可能吗?有没有更好的方法来实现我所需要的?

4

1 回答 1

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;
    -> //

示例向您展示如何使触发器写入另一个数据库。小心使用自动增量属性。

我认为您应该忘记 MySQL 中的 Java 存储过程,但您始终可以将业务逻辑转移到您自己的 Java 程序中。

于 2011-03-22T13:51:23.483 回答