티스토리 뷰
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 |
- Total
- Today
- Yesterday
- 오라클
- IP
- DATABASE
- 윈도우
- server
- select
- 설정
- eclipse
- Oracle
- Linux
- java
- MySQL
- Shell
- Toad
- user
- 백업
- delete
- 자동차
- sql
- 데이터
- Windows
- table
- mssql
- 파일
- 테이블
- apache
- 리눅스
- DB
- 서버
- tomcat
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |