*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(
);
'개발자로 업그레이드 되자 > 오라클,SQL' 카테고리의 다른 글
오라클 계층형 쿼리를 이용한 SELECT 하기 (0) | 2022.01.14 |
---|---|
오라클 DBMS 정리 13(PROCEDURE/ FUNCTION/CURSOR) (0) | 2021.09.30 |
오라클 DBMS 정리 12(PL/SQL- IF ~ ELSE, LOOP) (0) | 2021.09.29 |
오라클 DBMS 정리 11(PL/SQL) (0) | 2021.09.29 |
오라클 DBMS 정리 10(OBJECT) (0) | 2021.09.29 |