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

+ Recent posts

 

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

+ Recent posts