使用Trigger實現兩個Table同步更新資料
建立一個Trigger , 使 A_TEST 中插入或更新或刪除一筆資料, A_TEST_LOG 表中同步作業,保持兩個Table中的資料一致 。
CREATE TABLE TONY.A_TEST
(
TCO_NO VARCHAR2(25 BYTE) NOT NULL,
LOC VARCHAR2(50 BYTE) NOT NULL,
QTY VARCHAR2(6 BYTE)
)
TABLESPACE TEST_DATA
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 1M
NEXT 1M
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;
CREATE TABLE TONY.A_TEST_LOG
(
TCO_NO VARCHAR2(25 BYTE) NOT NULL,
LOC VARCHAR2(50 BYTE) NOT NULL,
QTY VARCHAR2(6 BYTE)
)
TABLESPACE TEST_DATA
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 1M
NEXT 1M
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
BUFFER_POOL DEFAULT
)
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;
CREATE OR REPLACE TRIGGER TONY.Trig_test
AFTER INSERT OR UPDATE OR DELETE ON TONY.A_TEST
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE
sqlstr varchar2(200);
BEGIN
IF INSERTING THEN
INSERT INTO TONY.A_TEST_LOG (Tco_No, Loc, Qty)
VALUES (:NEW.Tco_No, :NEW.Loc, :NEW.Qty);
ELSIF UPDATING THEN
UPDATE TONY.A_TEST_LOG
SET Tco_No=:NEW.Tco_No, Loc=:NEW.Loc, Qty=:NEW.Qty
WHERE Tco_No=:OLD.Tco_No ;
ELSIF DELETING THEN
DELETE FROM TONY.A_TEST_LOG WHERE Tco_No=:OLD.Tco_No ;
END IF;
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-605535/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle trigger 同步資料Oracle
- 同步寫兩個資料庫資料庫
- OGG實現兩臺oracle資料庫的同步Oracle資料庫
- kettle 實時同步資料(插入/更新/刪除資料)
- 在兩個資料庫之間進行資料同步資料庫
- 使用GoldenGate 實現Oracle for Oracle 單向資料同步(實現表的DML操作同步)GoOracle
- jstree實現資料同步JS
- 同步寫兩個資料庫--多執行緒資料庫執行緒
- MySQL 如何實現資料更新MySql
- 如何使用前端表格控制元件實現資料更新?前端控制元件
- django使用多個資料庫實現Django資料庫
- 比較兩個TABLE的資料是否完全一致
- 透過作業定時同步兩個資料庫資料庫
- 資料庫同步更新問題?資料庫
- lvs 負載均衡兩臺Discuz+rsync+innotify實現資料同步負載
- 編寫觸發器實現兩張表資料同步,sql程式碼如下:觸發器SQL
- Element-UI Table 實現篩選資料功能UI
- Kafka 叢集如何實現資料同步?Kafka
- Nuxt.js 中使用 useHydration 實現資料水合與同步UXJS
- 限制使用者在某個網段Logon實現triggerGo
- ReplacingMergeTree:實現Clickhouse資料更新
- Oracle兩表之間資料更新Oracle
- 比較兩個table是否相同
- 資料庫學習:透過作業定時同步兩個資料庫(轉)資料庫
- 利用Dbutils實現往兩個有關聯的表新增資料
- 通過 Swoole\Table 實現 Swoole 多程式資料共享
- 實現web資料同步的四種方式Web
- 管理叢集資料庫的兩個使用者與兩個命令資料庫
- 如何使用HBase?大資料儲存的兩個實戰場景大資料
- 使用 Flash Table 回滾資料
- mysql和redis實時同步資料怎麼實現MySqlRedis
- Vuex 的非同步資料更新(小記)Vue非同步
- 分散式 | dble後設資料更新同步分散式
- Query to Check SP/Table/Trigger Exists in Database or notDatabase
- 資料庫系列——基於Canal實現MySQL增量資料同步資料庫MySql
- ADO.net實現資料更新(一)
- 利用訊號量semaphore實現兩個程式讀寫同步 Linux CLinux
- 使用rsync同步資料