programming/MySQL
mysql에서 stored procedure 만들면서 주의 할 것
happy4u
2006. 9. 22. 17:30
주로 MS-SQL에서 작업을 하다, mysql에서 처음으로 stored procedure(이하 sp)를 만들면서, 5분이면 될 것을 수십분은 걸린 것 같다 --;;
에러가 정확한 위치를 알려주질 않는다.
아래의 정리한 내용은 MS-SQL에 익숙하고 mysql을 사용해 보지 않은 분이 보면 무자게 도움이 될 것 같다.
- IF문을 쓸 때 END IF문이 있어야 하며, END IF문 뒤에는 ;를 붙여야 한다.
ex> IF (test IS NULL) THEN
SELSET 'ok';
END IF;
- auto increment값을 얻어올 때는 LAST_INSERT_ID()을 이용한다.
ex> SET serverId = LAST_INSERT_ID();
- CREATE PROCEDURE문 전에 delimeter문을 이용해 delimeter를 ';'가 아닌 다른 걸로 변경하고 뒤에 다시 변경할 것
ex> delimiter // # delimeter를 //로 변경
CREATE PROCEDURE xxx
.....
.....
END;
// # 실제 한 command가 종료됨을 의미
delimeter ; # 다시 ;로 변경
일단 여기까지
에러가 정확한 위치를 알려주질 않는다.
아래의 정리한 내용은 MS-SQL에 익숙하고 mysql을 사용해 보지 않은 분이 보면 무자게 도움이 될 것 같다.
- IF문을 쓸 때 END IF문이 있어야 하며, END IF문 뒤에는 ;를 붙여야 한다.
ex> IF (test IS NULL) THEN
SELSET 'ok';
END IF;
- auto increment값을 얻어올 때는 LAST_INSERT_ID()을 이용한다.
ex> SET serverId = LAST_INSERT_ID();
- CREATE PROCEDURE문 전에 delimeter문을 이용해 delimeter를 ';'가 아닌 다른 걸로 변경하고 뒤에 다시 변경할 것
ex> delimiter // # delimeter를 //로 변경
CREATE PROCEDURE xxx
.....
.....
END;
// # 실제 한 command가 종료됨을 의미
delimeter ; # 다시 ;로 변경
일단 여기까지