*TRIGGER : 테이블이나 뷰가 INSERT, UPDATE, DELETE 등의 DML문에 의해 변경될 경우

                 자동으로 실행될 내용의 정의하여 저장하는 객체(PROCEDURE)

 

<종류>

-실행 시기에 따라

 1)BEFORE TRIGGER

 2)AFTER TRIGGER

-SQL문에 의해 영향을 받는 ROW에 따른 분류

 1)ROW TRIGGER : 각 ROW에 대해 TRIGGER 한번씩 실행

                           트리거 생성 시 FOR EACH ROW 옵션 작성

                           OLD : 참조 전 열의 값

                           NEW : 참조 후 열의 값, 새로 INSERT/UPDATE 된 행을 가르키는 것

 2)STATEMENT TRIGGER : SQL문에 대해 한번만 실행 (DEFAULT 임)

 

<생성 방법>

-CREATE OR REPLACE TRIGGER `트리거명`

 BEFORE/AFTER

 INSERT/UPDATE/DELETE

 ON `테이블명`

 [FOR EACH ROW 옵션]

 [WHEN 조건]

 

 DECLARE 

 BEGIN

 [EXCEPTION]

 END;

 /


<EXAMPLE>

CREATE TABLE PRODUCT(
	PCODE NUMBER PRIMARY KEY,
    PNAME VARCHAR2(200) NOT NULL,
    BRAND VARCHAR(60) NOT NULL,
    PRICE NUMBER NOT NULL,
    STOCK NUMBER DEFAULT 0
);


CREATE TABLE PRO_DETAIL(
	

);

  

 

+ Recent posts