Oracle Trigger Typical Examples

  • Sync table A to Table B
CREATE TABLE A(ID INT,DESCRIPTION VARCHAR(10));
CREATE TABLE B(ID INT,DESCRIPTION VARCHAR(10));

CREATE OR REPLACE TRIGGER SYNC_A_TO_B AFTER INSERT OR UPDATE OR DELETE ON A FOR EACH ROW --indicate that this is a row trigger,not table level trigger BEGIN DBMS_OUTPUT.PUT_LINE(:NEW.ID || '-' || :NEW.DESCRIPTION);
  DBMS_OUTPUT.PUT_LINE(:OLD.ID || '-' || :OLD.DESCRIPTION);
  CASE
    WHEN INSERTING THEN 
      DBMS_OUTPUT.PUT_LINE('INSERTING');
      INSERT INTO B VALUES (:NEW.ID,:NEW.DESCRIPTION);
    WHEN UPDATING THEN
      DBMS_OUTPUT.PUT_LINE('UPDATING');
      UPDATE B SET B.DESCRIPTION = :NEW.DESCRIPTION WHERE B.ID = :NEW.ID;
    WHEN DELETING THEN
      DBMS_OUTPUT.PUT_LINE('DELETING');
      DELETE FROM B WHERE B.ID = :OLD.ID;
  END CASE;
END;
/

INSERT INTO A VALUES (1,'A_TO_B');

SELECT * FROM A;
SELECT * FROM B;

UPDATE A SET A.DESCRIPTION = 'UPDATED' WHERE A.ID = 1;

SELECT * FROM A;
SELECT * FROM B;

DELETE FROM A WHERE A.ID = 1;

SELECT * FROM A;
SELECT * FROM B;

DROP TABLE A;
DROP TABLE B;

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...