[Project] Trigger 이용한 학력 null 값 삽입하기

이슬기·2024년 2월 25일
0

project

목록 보기
37/42
create table EDUCATION
(
    EDU_NO       NUMBER not null
        constraint EDUCATION_PK
            primary key,
    EDU_PERIOD   VARCHAR2(50),
    EDU_NAME     VARCHAR2(100),
    EDU_MAJOR    VARCHAR2(100),
    EDU_STATUS   VARCHAR2(20),
    EDU_DIVISION VARCHAR2(50),
    EDU_ORDER    NUMBER,
    E_NO         VARCHAR2(20),
    REG_DATE     DATE,
    MOD_DATE     DATE,
    REG_ID       VARCHAR2(50),
    MOD_ID       VARCHAR2(50)
)

위 쿼리문은 education의 ddl 이다.

employee 테이블에 값이 insert되면 특정 e_no의 edu_no는 시퀀스로 값이 insert되도록 하고

EDU_PERIOD   VARCHAR2(50),
    EDU_NAME     VARCHAR2(100),
    EDU_MAJOR    VARCHAR2(100),
    EDU_STATUS   VARCHAR2(20),
    EDU_DIVISION VARCHAR2(50),
    EDU_ORDER    NUMBER,
 	MOD_DATE     DATE,
	MOD_ID       VARCHAR2(50)

는 null 값으로 들어가고

REG_DATE     DATE

는 sysdate로 들어가고,

REG_ID       VARCHAR2(50)

는 e_no가 들어가도록 설정하고자 하였다.

아래가 이를 구현하고자 만든 trigger이다.

CREATE OR REPLACE TRIGGER after_employee_insert
AFTER INSERT ON employee
FOR EACH ROW
BEGIN
    -- 특정 e_no에 해당하는 education 레코드를 생성
    INSERT INTO education (edu_no, edu_period, edu_name, edu_major, edu_status, edu_division, edu_order, e_no, reg_date, mod_date, reg_id, mod_id)
    VALUES (seq_edu_no.NEXTVAL, NULL, NULL, NULL, NULL, NULL, NULL, :NEW.e_no, SYSDATE, NULL, :NEW.e_no, NULL);
END;
/

0개의 댓글

관련 채용 정보