2016-12-19 8 views
-2

今週1週間以来、深刻な問題があり、実行方法がわかりません。 私は、実動サーバーにOracle 10gデータベースを、別のサーバーにMysqlデータベースを持っています。私はoracleデータベースの特定のテーブルに挿入した後にそれを行うトリガを作成しなければなりません。挿入された新しい行はコピーされ、同じ構造を持つmysqlデータベースに挿入されます。OracleデータベースのトリガーによりデータがMysqlデータベースに挿入される

私は次のoracleトリガを書いていますが、oracleトリガからMysqlデータベースに接続する方法はわかりません。

CREATE OR REPLACE TRIGGER get_trans AFTER INSERT ON "TABLE" 
    FOR EACH ROW 
CALL sendTrans(:new.cust_id, :new.acid, :new.foracid, :new.pstd_date, :new.value_date, :new.tran_id, :new.part_tran_type, :new.tran_amt, :new.clr_bal_amt, :new.tran_particular, :new.sol_id); 

CREATE [OR REPLACE] PROCEDURE sendTrans(cust_id IN INT, acid IN VARCHAR2, foracid IN VARCHAR2, pstd_date IN Datetime, value_date IN Datetime, tran_id IN INT, part_tran_type IN CHAR, tran_amt IN NUMERIC, clr_bal_amt IN NUMERIC, tran_particular IN VARCHAR2, sol_id IN INT) 
AS 
    INSERT INTO TEMPORALTRANSACTIONTABLE (CUST_ID, ACID, FORACID, PSTD_DATE, DATETIME, VALUE_DATE, TRAN_ID, PART_TRAN_TYPE, TRAN_AMT, CLR_BAL_AMT, TRAN_PARTICULIER, SOL_ID) VALUES (cust_id , acid, foracid, pstd_date, value_date, tran_id, part_tran_type, tran_amt, clr_bal_amt, tran_particular, sol_id) 
BEGIN 

END sendTrans; 
+0

質問を投稿する前に[ask]と[mcve]をご覧ください。試行や努力を示さずに「これを行う方法」のような質問は、通常ここでは歓迎されません。 – Aleksej

+0

こんにちは、アドバイスのおかげで。それは正常です。私が言ったように、私はその発行者に今一週間いる。私はそれを解決する努力を続けてきましたが、何もないので、私は助けを求めました –

答えて

0

セットアップ(プラットフォーム、DBのバージョン)に応じて、実装が異なる場合がありますが、あなたは何をする必要があるか概念レベルである:

1)はMySQLへのOracleからデータベース・リンクを作成します。

2)データベースリンクを介してMySQLデータベースのテーブルにアクセスします。トリッキーな作業であることが証明かもしれ接続と作業データベース・リンクの作成

INSERT INTO [email protected]<YOUR_DATABASE_LINK> (...) 

:トリガーで

あなたのinsert文は、次のようになります。

関連する問題