DB 버전 : MySQL 5.0.22-community
수행한 트리거 생성 방법
1.
DELIMITER //
CREATE TRIGGER UPDATE_TRI AFTER UPDATE ON TEST_ORIGINAL
FOR EACH ROW
BEGIN
UPDATE TEST_DESTINATION SET NAME=NEW.NAME WHERE SEQ=NEW.SEQ;
DELETE FROM TEST_ORIGINAL WHERE SEQ=OLD.SEQ;
END //
DELIMITER ;
2.
DELIMITER //
CREATE TRIGGER UPDATE_TRI AFTER UPDATE ON TEST_ORIGINAL
FOR EACH ROW
BEGIN
UPDATE TEST_DESTINATION SET NAME=NEW.NAME WHERE SEQ=NEW.SEQ;
END //
DELIMITER ;
DELIMITER //
CREATE TRIGGER DELETE_TRI AFTER UPDATE ON TEST_DESTINATION
FOR EACH ROW
BEGIN
DELETE FROM TEST_ORIGINAL WHERE SEQ=OLD.SEQ;
END //
DELIMITER ;
각각 1번과 2번의 방식으로 테스트를 해 보았습니다.
제가 에러 메시지를 적지는 못하지만 해석을 해보니 이미 트리거가 적재된 상태이므로 다른 트리거를 사용하지 못한다는 내용입니다.(1번과 2번 에러 내용이 같습니다.)
제가 MySQL에서 트리거를 처음 해보는지라 혹시
TEST_ORIGINAL에서 업데이트가 되면 TEST_DESTINATION에 일련의 레코드 값을 UPDATE하고 TEST_ORIGINAL내에서 같은 SEQ는 삭제해 버리는 트리거를 생성할 방법이 있는지 궁금합니다.
혹 안된다면 데몬을 따로 하나 만들어야 할 듯 해서요...:-)
좋은 하루 되시기 바랍니다.~~~ |