1

2 つのデータベースがあります。一方への編集や挿入などの変更は、他方へも行う必要があり、その逆も同様です。

実際には、1 つのデータベースは古いレガシー データベース (非常に悪いエンティティ関係構造を持つ) であり、現在ユーザーが使用しているレガシー アプリ フロントエンドです。2 番目のデータベースは新しく構築されたもので、別のアプリを使用してレガシーをより適切に再構築します。フロントエンド。

ユーザーが両方のアプリケーションを使用するオプションを使用できるように、両方のアプリ (それぞれレガシー データベースと新しいデータベースにアクセス) を同時に実行し、一方のアプリでの変更を他方のアプリで確認できるようにしたいと考えています。

データを再構築して反対側のデータベースに格納するストアド プロシージャを呼び出すトリガーを作成したいと考えています。

私の質問は:

  • 私の実行ラインは想定どおりですか? つまり、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 に答える