[ORACLE]각각 다른 컬럼업데이트시 다른 테이블 업데이트 TRIGGER

2014. 9. 26. 15:02·Database
반응형

CREATE OR REPLACE TRIGGER APLUSORA.NEWYN_UPDATE_TRG01

 AFTER UPDATE OF CONFIRM5 ON APLUSORA.CUSTOMER

 FOR EACH ROW

 BEGIN

    if :NEW.CONFIRM5 = 'N' then -- CONFIRM5 ='N'일 경우만

         UPDATE APLUSORA.NEWS_CUST

            SET NEWS_YN = 'N'

         WHERE  EMAIL = :NEW.EMAIL

         AND    NEWS_YN = 'Y';

         UPDATE APLUSORA.FAIR_CUSTOMER

            SET NEWS_YN = 'N'

         WHERE  FC_EMAIL = :NEW.EMAIL

         AND    NEWS_YN = 'Y';

         INSERT INTO NEWYN_UPDATE_TRG01_LOG (EMAIL, CONFIRM5, ACTION)

         VALUES(:NEW.EMAIL, :NEW.CONFIRM5, 'UPDATE');

    end if;

 END;

/

 

CREATE OR REPLACE TRIGGER APLUSORA.NEWYN_DELETE_TRG01

 AFTER DELETE ON APLUSORA.CUSTOMER

 FOR EACH ROW

 BEGIN

    UPDATE APLUSORA.NEWS_CUST

    SET NEWS_YN = 'N'

    WHERE  EMAIL = :OLD.EMAIL;

    UPDATE APLUSORA.FAIR_CUSTOMER

    SET NEWS_YN = 'N'

    WHERE  FC_EMAIL = :OLD.EMAIL;

    INSERT INTO NEWYN_UPDATE_TRG01_LOG (EMAIL, CONFIRM5, ACTION)

    VALUES(:OLD.EMAIL, :OLD.CONFIRM5, 'DELETE');

 END;

/

 

-- 사기꾼한테 피해를 입지 않게 트리거로그도 동시에 남김!

CREATE TABLE APLUSORA.NEWYN_UPDATE_TRG01_LOG

(

  EMAIL        VARCHAR2(50 BYTE),

  CONFIRM5     VARCHAR2(1 BYTE),

  ACTION       VARCHAR2(6 BYTE),

  REGISTER_DT  DATE DEFAULT SYSDATE

)

 

BEFORE : 데이터 처리가 실행되기 전

AFTER : 데이터 처리가 실행 된 후

FOR EACH ROW : 데이터 처리시 건건이 모두 트리거 실행

:OLD.컬럼명 : SQL 반영전의 컬럼 데이터

:NEW.컬럼명 : SQL 반영 후의 컬럼 데이터

 

반응형
저작자표시 (새창열림)

'Database' 카테고리의 다른 글

[ORACLE]Unique 번호를 남길때  (0) 2014.10.02
[MYSQL]mysql-bin 삭제  (0) 2014.10.01
[ORACLE] 여러 로우 값을 하나의 컬럼으로 바꾸는 방법  (0) 2014.09.24
[ORACLE]날짜 함수 및 날짜구하기  (0) 2014.09.18
[ORACLE] 없는 데이터 강제로 만들기  (0) 2014.09.16
'Database' 카테고리의 다른 글
  • [ORACLE]Unique 번호를 남길때
  • [MYSQL]mysql-bin 삭제
  • [ORACLE] 여러 로우 값을 하나의 컬럼으로 바꾸는 방법
  • [ORACLE]날짜 함수 및 날짜구하기
애플자라
애플자라
    반응형
  • 애플자라
    애플자라
    애플자라
  • 전체
    오늘
    어제
    • 분류 전체보기 (655)
      • Linux (93)
      • Programing (92)
      • Flex, Laszlo (15)
      • Database (168)
      • Network (15)
      • Data (14)
      • Tips (119)
      • 여행★ (1)
      • Board (115)
      • 맛집탐방 (3)
      • 아이원츄 (12)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • Love&Smile
    • Husk's repository
    • StartUp
    • DSDSTUDIO Experimentals
    • 신선
    • DEV.SEULKI.KR[이슬기]
    • Live Bit Block
  • 공지사항

  • 인기 글

  • 태그

    delete
    Toad
    tomcat
    자동차
    DATABASE
    eclipse
    IP
    서버
    Linux
    백업
    server
    DB
    Shell
    테이블
    오라클
    설정
    mssql
    리눅스
    java
    select
    sql
    데이터
    apache
    윈도우
    user
    Oracle
    MySQL
    table
    파일
    Windows
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
애플자라
[ORACLE]각각 다른 컬럼업데이트시 다른 테이블 업데이트 TRIGGER
상단으로

티스토리툴바