본문 바로가기

MariaDB, MySQL

MySQL 의 Trigger 는 복수의 DML 오퍼레이션에 대해 생성할 수 없다.

ORACLE 의 경우 Trigger 를 생성할 때 Trigger 를 동작시킬 동작 (DML) 을

혼용해서 사용할 수 있다.


이를테면 특정 테이블에 대해 INSERT, UPDATE, DELETE 에 대해 동작시킬 수 있고,

OPERATION 을 FLAG 를 통해 식별할 수 있다.


다시말해 INSERT 에 대해서는 어떤 동작을 취하고,

UPDATE 에 대해서는 어떤 동작을 취하고,

DELETE 에 대해서는 ...


하지만 MySQL 의 경우는 오퍼레이션을 하나만 지정 가능하다.

한 트리거는 INSERT 에 대해서만 동작하며,

한 트리거는 UPDATE 에 대해서만 동작하고,

한 트리거는 DELETE 에 대해서만 동작한다.


이는 2009 년의 포럼에도 나와있다.

( http://forums.mysql.com/read.php?99,251308,251308#msg-251308 )

MySQL 메뉴얼에 명시적으로 나와있음 좋겠지만 내용을 발견하지 못했다.


지금은 2012년... 거의 4년이나 흘렀지만 메뉴얼의 create trigger syntax 를 보아도,

여러 오퍼레이션에 허용에 대한 문법적인 내용이 없다.