MSSQL에서는 하기와 같이 하면 되지만, MYSQL에서는 안된다...ㅠ
-- MSSQL
IF EXISTS (SELECT 1 FROM id_generator WHERE seq_name=InSeqName)
BEGIN
UPDATE id_generator SET seq_currval=LAST_INSERT_ID(seq_currval+1) WHERE seq_name=InSeqName;
END
ELSE
BEGIN
INSERT INTO id_generator (seq_name, seq_currval) VALUES (InSeqName, 1);
END
MYSQL의 EXISTS는 하기와 같이 사용하여야 한다.
-- MYSQL
IF (SELECT 1 = 1 FROM id_generator WHERE seq_name=InSeqName) THEN
BEGIN
UPDATE id_generator SET seq_currval=LAST_INSERT_ID(seq_currval+1) WHERE seq_name=InSeqName;
END;
ELSE
BEGIN
INSERT INTO id_generator (seq_name, seq_currval) VALUES (InSeqName, 1);
END;
END IF;
※ MYSQL 에서의 IF문을 상위와 같이 사용하려면 프로지져, 함수에서 사용 가능하며
일반 쿼리창에서는 SELECT IF (1 = 1, '참', '거짓'); 요렇게 사용하여야 한다.
'IT > MySQL' 카테고리의 다른 글
Millisecond (0) | 2015.05.14 |
---|---|
백업 및 복원 (0) | 2015.04.03 |
스케쥴 관련 (0) | 2015.04.02 |
MySQL에서의 RowNum 사용 (0) | 2015.02.13 |
임시테이블 사용 및 변수(DECLARE) 사용 (0) | 2015.02.13 |