강좌
클라우드/리눅스에 관한 강좌입니다.
데이터베이스 분류

트리거(TRIGGER) 변경

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

sub_title_icon.gif 트리거(TRIGGER) 변경
1. 트리거 이름 변경
트리거의 이름은 RENAME 구문의 TRIGGER 예약어를 이용해서 변경한다.
1) 구문

RENAME TRIGGER old_trigger_nameASnew_trigger_name [ ; ]

icon_sub02.gif old_trigger_name : 트리거의 현재 이름을 입력한다.
icon_sub02.gif new_trigger_name : 변경할 트리거의 이름을 지정한다.
2) 예제
RENAME TRIGGER medal_trigger AS medal_trig;
3) 주의사항
icon_sub02.gif 트리거 이름은 모든 트리거 사이에서 유일해야 한다. 하지만 데이터베이스 내의 테이블 이름과 같은 이름을 가질 수는 있다.
icon_sub02.gif 만약 테이블 트리거의 이름을 변경하려면, 트리거의 소유자이거나, 해당 트리거가 있는 테이블에 대해 ALTER 권한이 부여되어 있어야 한다. 사용자 트리거는 트리거의 소유자만 이름을 변경할 수 있다.
2. 트리거 정의 변경
트리거 정의에서 STATUSPRIORITY 옵션에 대해 ALTER 구문을 이용하여 변경할 수 있다. 만약 트리거의 다른 부분에 대해 변경(이벤트 대상 또는 조건 표현식)이 필요하면, 트리거를 삭제한 후, 재생성해야 한다.
1) 구문

ALTER TRIGGER trigger_name  trigger_option [ ; ]

trigger_option :
STATUS { ACTIVE | INACTIVE }
PRIORITY key

icon_sub02.gif trigger_name : 변경할 트리거의 이름을 지정한다.
icon_sub02.gif trigger_option : - STATUS { ACTIVE | INACTIVE } : 트리거의 상태를 변경한다
- PRIORITY key : 우선순위를 변경한다
2) 예제
CREATE TRIGGER medal_trig STATUS ACTIVE
BEFORE UPDATE ON participant
IF new.gold < 0 OR new.silver < 0 OR new.bronze < 0
EXECUTE REJECT;

ALTER TRIGGER medal_trig STATUS INACTIVE;
ALTER TRIGGER medal_trig PRIORITY 0.7;
3) 주의사항
icon_sub02.gif 같은 ALTER TRIGGER 문 내에서는 한 개 옵션만 기술할 수 있다.
icon_sub02.gif 만약 테이블 트리거를 변경하려면, 해당 트리거의 소유자이거나, 해당 트리거가 있는 테이블에 대해 ALTER 권한이 부여되어 있어야 한다.
icon_sub02.gif 사용자 트리거를 변경하기 위해서는 반드시 해당 트리거의 소유자여야 한다. PRIORITY 옵션과 같이 기술하는 key는 반드시 음이 아닌 부동 소수점 값(non-negative floating point value)이어야 한다.

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,156 명
  • 현재 강좌수 :  36,514 개
  • 현재 접속자 :  264 명