안녕하세요.
현재 오라클에서 MySql로 DB 이관 작업을 하고 있는 중입니다. 트리거 포함해서요..
오라클로 되어 있는 트리거를 MySQL 트리거로 만드는데 첫번째 업데이트 부분에서 Syntax 오류가 나는데
도무지 무슨 잘못을 한건지 모르겠군요.
스크립트는 아래와 같고,
이 스크립트를 실행하면 다음과 같은 에러가 발생합니다.
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UPDATE DATA_FOLDER
set nSize=nSize - OLD.nSize,
nAllMail=nAllMail - 1,' at line 10
CREATE TRIGGER DATA_UPDATE
AFTER UPDATE ON DATA_UPDATE_001
FOR EACH ROW BEGIN
IF OLD.isDelete = 'N' AND OLD.isForward = 'N' THEN
IF OLD.isNew = 'Y' THEN
UPDATE DATA_FOLDER
set nSize=nSize - OLD.nSize,
nAllMail=nAllMail - 1,
nNewMail=nNewMail - 1
WHERE strPersonNo=OLD.strPersonNo AND nFolderNo=OLD.nFolderNo;
ELSE
UPDATE DATA_FOLDER set
nSize=nSize - OLD.nSize,
nAllMail=nAllMail - 1
WHERE strPersonNo=OLD.strPersonNo AND nFolderNo=OLD.nFolderNo;
END IF;
END IF;
IF NEW.isDelete = 'N' AND NEW.isForward = 'N' THEN
IF NEW.isNew = 'Y' THEN
UPDATE DATA_FOLDER set
nSize=nSize + NEW.nSize,
nAllMail=nAllMail + 1,
nNewMail=nNewMail + 1
WHERE strPersonNo=NEW.strPersonNo AND nFolderNo=NEW.nFolderNo;
ELSE
UPDATE DATA_FOLDER set
nSize=nSize + NEW.nSize,
nAllMail=nAllMail + 1
WHERE strPersonNo=NEW.strPersonNo AND nFolderNo=NEW.nFolderNo;
END IF;
END IF;
END;
|