MySQL触发器或存储过程可以用Java编写吗?
我有两个数据库。需要对第二个文件进行修改,如编辑、插入一个文件,反之亦然 实际上,一个数据库是一个旧的遗留数据库(具有非常糟糕的实体关系结构)和用户当前使用的遗留应用程序前端。 第二个数据库是一个新构建的,通过一个单独的应用程序更好地重构了传统数据库。前端 我希望两个应用程序(分别访问旧数据库和新数据库)同时运行,以便用户可以选择使用两个应用程序,并且一个应用程序中的更改在另一个应用程序中可见 我想编写调用存储过程的触发器,这些触发器重新构造数据并将其放入相反的数据库中 我的问题是:MySQL触发器或存储过程可以用Java编写吗?,java,mysql,triggers,procedures,Java,Mysql,Triggers,Procedures,我有两个数据库。需要对第二个文件进行修改,如编辑、插入一个文件,反之亦然 实际上,一个数据库是一个旧的遗留数据库(具有非常糟糕的实体关系结构)和用户当前使用的遗留应用程序前端。 第二个数据库是一个新构建的,通过一个单独的应用程序更好地重构了传统数据库。前端 我希望两个应用程序(分别访问旧数据库和新数据库)同时运行,以便用户可以选择使用两个应用程序,并且一个应用程序中的更改在另一个应用程序中可见 我想编写调用存储过程的触发器,这些触发器重新构造数据并将其放入相反的数据库中 我的问题是: 我的行刑
- 我的行刑路线应该是这样的吗?我的意思是,
触发器>调用>存储过程>调用>数据库。
- 触发器/存储过程可以用Java编写吗
- 有什么好的/推荐的提示、教程等吗
谷歌上有很多链接,但没有一个有用。我想知道MySQL和Java在MySQL触发器方面是否可以协同工作?可能吗?。有没有更好的方法来实现我的需求?触发器是命名的数据库对象。它们定义了当某些数据库相关事件发生时数据库应采取的一些操作。它们是用SQL编写的。它们的执行对用户是透明的。您可以像往常一样编写JavaJDBC代码,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程序中。我相信您仍然可以从存储过程和触发器调用一些Java代码,至少在Oracle中是这样。但我不确定MySQL。你是对的。在Oracle中,您可以编写Java存储过程并通过触发器事件调用它们。但这在MySQL中不起作用。