ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 트리거(trigger)
    SQL/PL. SQL 2020. 4. 25. 13:41

    트리거란?

     

    테이블에 어떤 이벤트가 발생했을 때, 자동으로 사용자가 정의한 PL/SQL 명령을 실행 할 수 있는 구문

     


    트리거 Syntax

    CREATE OR REPLACE TRIGGER 트리거명 [BEFORE | AFTER]
    
    EVENT(INSERT, DELETE, UPDATE 등) ON 테이블명
    
    FOR EACH ROW  // 행 트리거
    
    DECLARE
    
         AFTER_CODE VARCHAR2(5);    // 선언부(사용할 변수 선언)
      
    BEGIN 
    
    	IF INSERTING THEN
    
    		SELECT 변환 후 코드 값
    
       		INTO AFTER_CODE
       
       		FROM 코드 매핑 테이블
       
       		WHERE 변환전 코드 값 := NEW.코드 컬럼
       
    		INSERT INTO 로그 테이블명( 컬럼명1, 컬럼명2, ..., 컬럼명N) VALUES ( VALUES1, VALUES2, ...);
    
    	ELSIF DELETING THEN ..
        
        ELSE
        
        	IF UPDATING('코드1 컬럼')
            	OR UPDATING('코드2 컬럼')
                THEN
                ...
            ELSIF UPDATING('텍스트 컬럼')
            	THEN
                ...
            ELSIF UPDATING
            	THEN
                ...
                END IF;
           	END IF;
            
        EXCEPTION  // 오류처리
        
        WHEN NO_DATA_FOUND THEN ...  // 등록된 코드에 매핑 코드가 없을 경우
        
        WHEN DUP_VAL_ON_INDEX THEN ... // 테이블 등록 시 동일 PK 데이터 존재
        
    END

    'SQL > PL. SQL' 카테고리의 다른 글

    PL/SQL PACKAGE  (0) 2020.02.25
    PL/SQL FUNCTION  (0) 2020.02.25
    PL/SQL 예외처리(EXCEPTION)  (0) 2020.02.25
    PL/SQL 날짜에 따른 애음주기 쿼리 조회 실습  (0) 2020.02.25
    커서 ( Cursor )  (0) 2020.02.24

    댓글

Designed by Tistory.