2010년 10월 18일 월요일
Triggers
트리거에 대한 지원은 MySQL 5.0.2버전에서부터 지원한다.
트리거란 이름이 있는 데이터 베이스 오브젝트(named database object )로서, 테이블과 연관되어 있으며,
특정 이벤트가 테이블에 대해 발생하면 동작을 하게 된다.
예를 들면, 아래의 명령문은 하나의 테이블과 하나의 INSERT 트리거를 생성한다.
트리거는 테이블의 컬럼에 삽입된 값들을 더하게 한다.:
mysql> CREATE TABLE account (acct_num INT, amount DECIMAL(10,2));
Query OK, 0 rows affected (0.03 sec)
mysql> CREATE TRIGGER ins_sum BEFORE INSERT ON account
-> FOR EACH ROW SET @sum = @sum + NEW.amount;
Query OK, 0 rows affected (0.06 sec)
이 장에서는 트리거를 생성하고 없애는 신텍스를 설명할 것이며,
트리거를 어떻게 사용하는지에 대한 예문을 보여 주기로 한다.
트리거 사용의 제약 사항은 Section I.1, “스토어드 루틴과 트리거상의 제약 사항”을 참조하기 바란다.
바이너리 로깅이 트리거에 적용될 때의 제약 사항은 Section 17.4, “스토어드 루틴과 트리거의 바이너리 로깅”에서 다루었다.
트리거(Triggers)란?
* 데이터베이스 내에서 참조의 무결성을 유지하기 위해 어떤 프로시저를 자동으로 호출하는 것과 같은 행동이다.
* 트리거는 사용자가 데이터를 삽입하거나 삭제하는 등과 같은, 데이터 변경에 관한 시도를 했을 때 효력을 나타낸다.
* 트리거는 지정된 어떤 변경이 시도되면, 일련의 행동들을 취하도록 시스템에게 알릴 수 있다.
* 트리거는 부정확하고, 허가 받지 않았으며, 일관성이 없는 데이터 변경을 방지함으로써,
데이터베이스의 무결성을 유지하는데 도움을 준다.
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기