请问我有一个严重的问题,因为现在已经一个星期了,并且不知道该怎么做。 我在生产服务器上有一个oracle 10g数据库,在另一台服务器上有一个Mysql数据库。我必须创建一个触发器,在插入oracle数据库的特定表之后执行该操作,插入的新行是copy并插入到具有相同结构的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 :(得分:0)
根据您的设置(平台,数据库版本),实施可能会有所不同,但从概念上讲,您需要做的是:
1)创建从Oracle到MySQL的数据库链接。
2)通过数据库链接访问MySQL数据库中的表。
您在触发器中的插入语句将如下所示:
INSERT INTO TEMPORALTRANSACTIONTABLE@<YOUR_DATABASE_LINK> (...)
创建连接和工作数据库链接可能证明是一项棘手的任务。