Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- oracle
- 오라클에러코드
- mysql
- 자바문제
- SQL
- 조건문
- 코드업
- 오늘부터 개발자
- 코드업문제풀이
- 백준
- if문
- db
- 자바문제풀이
- 임시테이블생성
- 오늘부터개발자
- for문
- 에러코드
- java
- 자바
- 파이썬
- 자바별찍기
- CodeUp
- commit
- 오라클에러
- BaekJoon
- 오라클
- 반복문
- 문제풀이
- Python
- 별찍기
Archives
- Today
- Total
매일 1%씩, 개발자로 성장하기
[Oracle] 트리거(Trigger) 문법 및 생성 본문
728x90
트리거(Trigger)
- 트리거(Trigger)는 어느 특정한 동작에 반응해 자동으로 필요한 동작을 실행하는 것을 뜻함.
- BEFORE은 INSERT, UPDATE 또는 DELETE문이 실행되기 전에 트리거(Trigger) 실행.
- AFTER는 INSERT, UPDATE 또는 DELETE문이 실행된 후 트리거(Trigger) 실행.
- FOR EACH ROW는 행 트리거가 된다는 것.
CREATE TRIGGER 트리거명
(BEFORE|AFTER) (INSERT|DELETE|UPDATE) -- 트리거를 언제 시작할 것 인지
ON 테이블명 -- 트리거가 발생하는 테이블
[FOR EACH ROW] -- 실행될 문장 행에 각각 적용
[WHEN 조건식]
BEGIN
-- 트리거 발생시 실행할 문장(주로 DML문장)
END;
※ 변경 전 컬럼 값과 변경 후 컬럼 값을 알 수 있음.
:old.컬럼명
:new.컬럼명
1) INSERT 후에 트리거가 발생할 수 있도록 트리거 생성
-- 트리거 생성
CREATE OR REPLACE TRIGGER tr_dept_insert
AFTER INSERT ON dept
BEGIN
dbms_output.put_line('정상적으로 입력되었습니다.');
END;
2) INSERT 실행
-- 트리거 생성 후 확인
INSERT INTO dept VALUES (60,'ORACLE','ILSAN');
3) 확인
Output을 통해 정상적으로 트리거가 실행되었다는 것을 확인 할 수 있다.
728x90
'Database > Oracle' 카테고리의 다른 글
[Oracle] COALESCE 함수 : NULL이 아닌 첫 번째 표현식을 반환 (0) | 2022.08.16 |
---|---|
[Oracle] WITH절 (WITH AS) 임시테이블 생성 및 문법 사용 (0) | 2022.08.13 |
[Oracle] 년월을 입력받아 달력 생성 및 출력하는 쿼리 만들기 (0) | 2022.08.10 |
[Oracle] ORACLE 스키마(구조) 조회 및 Table 목록, Column 목록 조회하는 쿼리 (0) | 2022.07.31 |
[Oracle] PL/SQL - 반복문 구구단 출력하기 (0) | 2022.07.26 |
Comments