책 내용 질문하기
트리거 내용중 질문 있습니다.
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
79
조회수
42
작성일
2018-11-26
작성자
탈퇴*원
첨부파일
CREATE TRIGGER 동작시기 옵션 동작옵션 ON 테이블명... 에서 동작시기 옵션은 어떻게 정하는 것인지 궁금합니다. 책에 수록되어 있는 설명을 보면 테이블이 변경되는 시점을 기준으로 삼고 있는데, 여기서 같은 페이지의 예제를 보면 테이블에 레코드가 삽입된다고 하여 레코드를 삽입해서 테이블이 변경된 후에 트리거를 적용하나, 삽입되기 전, 즉 테이블이 변경되기 전 트리거 적용을 하여 삽입을 하나 별 차이가 없다고 생각이 들었습니다. 어째서 예제에서는 BEFORE을 사용한 건지도 궁금합니다.
답변
2018-11-27 10:18:28

안녕하세요 길벗 수험서 운영팀입니다.

예제에서 동작시기 옵션을 before로 정한 것은 [학생] 테이블의 '학년' 속성에 특정 값만이 올 수 있다는 도메인 무결성이 존재할 경우를 대비한 것입니다.

즉, 도메인의 무결성이나 속성의 contraint를 위반하지 않기 위해 삽입하기 전에 해당 데이터를 규칙에 맞추어 변경한 후 삽입하는 형태입니다.

실제 시험에서 트리거를 활용한 SQL문을 직접 작성하는 형태의 문제는 출제된 적이 없습니다.
(트리거는 보통 개념을 묻는 문제에서 주로 출제되었습니다.)

다만 혹여 출제될 경우를 예상하건데, 문제 자체에서 직접 조건을 언급할 가능성이 큽니다.
<처리조건> 또는 문제에서 "테이블이 삽입되기 전" 또는 "테이블이 삽입된 후"라는 식으로 말이죠.

행복한 하루 되세요 :)

  • *
    2018-11-27 10:18:28

    안녕하세요 길벗 수험서 운영팀입니다.

    예제에서 동작시기 옵션을 before로 정한 것은 [학생] 테이블의 '학년' 속성에 특정 값만이 올 수 있다는 도메인 무결성이 존재할 경우를 대비한 것입니다.

    즉, 도메인의 무결성이나 속성의 contraint를 위반하지 않기 위해 삽입하기 전에 해당 데이터를 규칙에 맞추어 변경한 후 삽입하는 형태입니다.

    실제 시험에서 트리거를 활용한 SQL문을 직접 작성하는 형태의 문제는 출제된 적이 없습니다.
    (트리거는 보통 개념을 묻는 문제에서 주로 출제되었습니다.)

    다만 혹여 출제될 경우를 예상하건데, 문제 자체에서 직접 조건을 언급할 가능성이 큽니다.
    <처리조건> 또는 문제에서 "테이블이 삽입되기 전" 또는 "테이블이 삽입된 후"라는 식으로 말이죠.

    행복한 하루 되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.