database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 27440 게시물 읽기
No. 27440
Mysql 트리거 관련해서 문의 드립니다.
작성자
성정환
작성일
2008-03-05 11:39ⓒ
2008-03-05 11:47ⓜ
조회수
3,688

안녕하세요.

현재 오라클에서 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;

이 글에 대한 댓글이 총 1건 있습니다.

자체 해결했습니다.


혹시나 하는 마음에 상단에 DELIMITER 처리를 하고 실행시켜본 결과;; 되더군요.


결국엔 DELIMITER 처리를 안해서 첫번째 Update 구문에서 오류가 날수 밖에 없었던 거죠.

성정환님이 2008-03-05 16:44에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
27444pgsql의 함수 split_part [2]
성정환
2008-03-06
3549
27442도와주세요. 셀렉트박스에서 [1]
궁금이
2008-03-05
5427
27441temporary table 사용 문의
조항철
2008-03-05
2652
27440Mysql 트리거 관련해서 문의 드립니다. [1]
성정환
2008-03-05
3688
27439MYSQL 5.0 C API로 코딩할때 유니코드문제 [1]
C API
2008-03-05
2553
27438auto_increment 최대값이 궁금해요.. ^^ [1]
김정훈
2008-03-05
4066
27437여러개의 셀렉트박스에서
궁금이
2008-03-04
3039
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다