We have created a awesome theme
Far far away,behind the word mountains, far from the countries

INFO 실전 DB모델링과 SQL과정

INFO

실전 DB모델링과 SQL과정
조회수 2768
제목 Chapter12_이력관리 : 예제모음1
작성자 관리자
작성일자 2021-12-03

■예 12_1_1  ||  이력을 생성하는 트리거
CREATE OR REPLACE TRIGGER bond.REC
AFTER INSERT OR UPDATE ON BOND.TAB_DEBTOR_LIST
FOR EACH ROW

BEGIN
INSERT INTO TAB_DEBTOR_HISTORY(DEBTOR_LIST_NO
                               ,DEBTOR_HISTORY_SEQ
                               ,DEBTOR_HISTORY_TEL
                               ,DEBTOR_HISTORY_PHONE
                               ,DEBTOR_HISTORY_ZIPCODE
                               ,DEBTOR_HISTORY_ADDRESS_1    
                               ,DEBTOR_HISTORY_REGIST_DATE
                               ,DEBTOR_HISTORY_INPUT
                               ,DEBTOR_HISTORY_MGR_NUM
                               ,DEBTOR_HISTORY_ADDRESS_2
                               ,DEBTOR_HISTORY_NAME
                               ,DEBTOR_HISTORY_ENGNAME
                               ,DEBTOR_HISTORY_GOOBOON
                               ,DEBTOR_HISTORY_ETC
                                )
VALUES (:NEW.DEBTOR_LIST_NO
   ,TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDD')||TO_CHAR(DEBTOR_HISTORY_SEQ.NEXTVAL))
 ,:NEW.DEBTOR_LIST_TEL
 ,:NEW.DEBTOR_LIST_PHONE
 ,:NEW.DEBTOR_LIST_POSTAL
 ,:NEW.DEBTOR_LIST_ADDRESS_1
 ,:NEW.DEBTOR_LIST_REGIST_DATE
 ,:NEW.DEBTOR_LIST_INPUT
 ,:NEW.DEBTOR_LIST_MGR_NUM
 ,:NEW.DEBTOR_LIST_ADDRESS_2
 ,:NEW.DEBTOR_LIST_NAME
 ,:NEW.DEBTOR_LIST_ENGNAME
 ,:NEW.DEBTOR_LIST_GOOBOON
 ,:NEW.DEBTOR_LIST_ETC);
DBMS_OUTPUT.PUT_LINE('채무자 번호 :' || :NEW.DEBTOR_LIST_NO);
DBMS_OUTPUT.PUT_LINE('전화번호 :' || :NEW.DEBTOR_LIST_TEL);
DBMS_OUTPUT.PUT_LINE('휴대폰번호 :' || :NEW.DEBTOR_LIST_PHONE);
DBMS_OUTPUT.PUT_LINE('우편번호 :' || :NEW.DEBTOR_LIST_POSTAL);
DBMS_OUTPUT.PUT_LINE('주소1 :' || :NEW.DEBTOR_LIST_ADDRESS_1);
DBMS_OUTPUT.PUT_LINE('주소2 :' || :NEW.DEBTOR_LIST_ADDRESS_2);
DBMS_OUTPUT.PUT_LINE('입력날짜 :' || :NEW.DEBTOR_LIST_REGIST_DATE);
DBMS_OUTPUT.PUT_LINE('입력자 사번 :' || :NEW.DEBTOR_LIST_INPUT);
DBMS_OUTPUT.PUT_LINE('담당자 사번 :' || :NEW.DEBTOR_LIST_MGR_NUM);
DBMS_OUTPUT.PUT_LINE('채무자 이름 :' || :NEW.DEBTOR_LIST_NAME);
DBMS_OUTPUT.PUT_LINE('채무자 영문 이름 :' || :NEW.DEBTOR_LIST_ENGNAME);
DBMS_OUTPUT.PUT_LINE('채무자 구분 :' || :NEW.DEBTOR_LIST_GOOBOON);
DBMS_OUTPUT.PUT_LINE('기타 :' || :NEW.DEBTOR_LIST_ETC);
END;
/

■예 12_1_3  || 이력을 생성하는 트리거
CREATE OR REPLACE TRIGGER bond.REC3
AFTER INSERT OR UPDATE ON BOND.TAB_DEBTOR_LIST
FOR EACH ROW
BEGIN
INSERT INTO TAB_DEBTOR_BAK(DEBTOR_LIST_NO
                               ,DEBTOR_BAK_SEQ
                               ,DEBTOR_BAK_TEL
                               ,DEBTOR_BAK_PHONE
                               ,DEBTOR_BAK_ZIPCODE
                               ,DEBTOR_BAK_ADDRESS_1
                               ,DEBTOR_BAK_REGIST_DATE
                               ,DEBTOR_BAK_INPUT
                               ,DEBTOR_BAK_MGR_NUM
                               ,DEBTOR_BAK_ADDRESS_2
                                )
VALUES (:NEW.DEBTOR_LIST_NO                                        
,TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDD')||TO_CHAR(DEBTOR_HISTORY_SEQ.NEXTVAL))
 ,:NEW.DEBTOR_LIST_TEL
 ,:NEW.DEBTOR_LIST_PHONE
 ,:NEW.DEBTOR_LIST_POSTAL
 ,:NEW.DEBTOR_LIST_ADDRESS_1
 ,:NEW.DEBTOR_LIST_REGIST_DATE
 ,:NEW.DEBTOR_LIST_INPUT
 ,:NEW.DEBTOR_LIST_MGR_NUM
 ,:NEW.DEBTOR_LIST_ADDRESS_2);                                      
DBMS_OUTPUT.PUT_LINE('채무자 번호 :' || :new.DEBTOR_LIST_NO);
DBMS_OUTPUT.PUT_LINE('전화번호 :' || :new.DEBTOR_LIST_TEL);
DBMS_OUTPUT.PUT_LINE('휴대폰 번호 :' || :new.DEBTOR_LIST_PHONE);
DBMS_OUTPUT.PUT_LINE('우편번호 :' || :new.DEBTOR_LIST_POSTAL);
DBMS_OUTPUT.PUT_LINE('주소1 :' || :new.DEBTOR_LIST_ADDRESS_1);
DBMS_OUTPUT.PUT_LINE('주소2 :' || :new.DEBTOR_LIST_ADDRESS_2);
DBMS_OUTPUT.PUT_LINE('입력자 사번 :' || :new.DEBTOR_LIST_INPUT);
DBMS_OUTPUT.PUT_LINE('담당자 사번 :' || :new.DEBTOR_LIST_MGR_NUM);
DBMS_OUTPUT.PUT_LINE('입력시각 :' || :NEW.DEBTOR_LIST_REGIST_DATE);
END;
/

첨부파일