Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL触发器或存储过程可以用Java编写吗?_Java_Mysql_Triggers_Procedures - Fatal编程技术网

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中不起作用。