--기본 트리거 생성
CREATE OR REPLACE TRIGGER Audit_employee_reset
AFTER INSERT OR DELETE OR UPDATE OF COLUMN1, COLUMN2 ON TABLE_NM
BEGIN
   auditpackage.set_reason(NULL);
END;
CREATE OR REPLACE TRIGGER TRIGGER_TEST BEFORE DELETE OR INSERT OR UPDATE ON TABLE_NM FOR EACH ROW WHEN (new.COLUMN1> 0) DECLARE sal_diff number; BEGIN INSERT INTO TEST1 VALUES(:old.COLUMN1||'-'||:NEW.COLUMN1); dbms_output.put('Old salary: ' || :old.COLUMN1); dbms_output.put(' New salary: ' || :new.COLUMN1); dbms_output.put_line(' Difference ' || :new.COLUMN1); END; /
CREATE OR REPLACE TRIGGER Dept_emplist_tr
   INSTEAD OF INSERT ON NESTED TABLE Emplist OF Dept_view
   REFERENCING NEW AS Employee
      PARENT AS Department
   FOR EACH ROW
BEGIN
-- The insert on the nested table is translated to an insert on the base table:
   INSERT INTO Emp_tab VALUES (
      :Employee.Empno, :Employee.Empname,:Employee.Salary, :Department.Deptno);
END;
--사용자 로그인 하면 실행하는 트리거? 별게 다 있네
CREATE OR REPLACE TRIGGER On_Logon  
  AFTER LOGON  
  ON The_user.Schema  
BEGIN  
  Do_Something;  
END;  
    IF INSERTING THEN    --등록이면
        ...
    ELSIF DELETING THEN  --삭제면
        ...    
    ELSE
    
    --업데이트된컬럼명이 COLUMN1 라면
    IF UPDATING('COLUMN1') THEN
        ...
    --그냥 업데이트 라면
    ELSIF UPDATING THEN
        ...        
    END IF;
--트리거 사용
ALTER TRIGGER TRIGGER_TEST ENABLE;
--트리거 사용 정지
ALTER TRIGGER TRIGGER_TEST DISABLE;
--트리거 Recompiling
ALTER TRIGGER TRIGGER_TEST COMPILE;
--트리거 이름으로 조회
SELECT Trigger_type, Triggering_event, Table_name
   FROM USER_TRIGGERS
   WHERE Trigger_name = 'TRIGGER_NAME';
   
SELECT Trigger_body
   FROM USER_TRIGGERS
   WHERE Trigger_name = 'TRIGGER_NAME';   
참고 : http://ooz.co.kr/33
원본 : https://479lgs.blog.me/220373814609