본문 바로가기

loop4

[Stored Procedure] 12. Stored Procedure 의 MySQL 에러 처리 요약: 이번 강좌는 저장 프로시저에서 예외나 에러를 만났을 때 처리하기 위한 MySQL handler를 사용하는 방법에 대해서 배워 볼 것이다. 저장 프로시저 내부에서 에러가 발생했을 때, 실행중인 현재 코드 단락에서 계속 실행하거나 종료하는 것 처럼 적당하게 처리하는 것이 중요하며, 의미 있는 에러메세지를 부여해야 한다. MySQL은 경고나 예외 같은 일반적인 조건 부터 특정한 조건(특정한 에러 코드) 까지 처리하는 handler를 정의하는데 쉬운 방법을 제공한다. handler 선언 handler를 선언하기 위해서 아래 처럼 DECLARE HANDLER문을 사용할 수 있다. DECLARE action HANDLER FOR condition_value statement; 만약 조건이 condition_.. 2016. 8. 8.
[Stored Procedure] 10. MySQL Cursor 요약: 이번 강좌에서는, SELECT문에 의해 반환되어지는 결과값을 반복하는 저장 프로시저에서 MySQL cursor를 사용하는 방법을 배워 볼 것이다. MySQL Cursor 를 소개합니다.저장 프로세저 내부에 있는 결과 집합들을 처리하는데 cursor를 사용할 수 있다. cursor는 query에 의해 반환된 rows의 set을 반복하고 그에 따라 각 row를 처리할 수 있다.MySQL cursor는 Read Only, Non-Scrollable, Asensitive 이다.- ReadOnly : cursor를 통해서 테이블에 있는 데이터를 업데이트 할 수 없다. - Non-scrollable : SELECT문에 의해 결정된 순서로 rows를 가져 올 수 있다. 반대 순서로 rows를 가져 올 수 없다.. 2016. 8. 4.
[Stored Procedure] 9. 저장 프로시저 에서의 반복 요약: 이번 강좌에서는 조건에 맞는 코드를 반복해서 실행하게 하는 다양한 MySQL Loop 문(WHILE, REPEAT, LOOP) 을 어떻게 사용하는지 배워 볼 것이다. MySQL은 반복적으로 조건에 맞는 SQL코드를 실행하게 허용하는 반복문을 제공한다. MySQL에서는 WHILE, REPEAT, LOOP의 반복문이 있다.우리는 아래 섹션에서 더 상세하게 반복문을 연습해 볼 것이다. WHILE 반복WHILE문의 구조는 아래와 같다:123WHILE expression DO statementsEND WHILEcs WHILE문은 각 반복의 처음에 표현식(expression)을 체크한다. 만약 표현식의 값이 TURE이면 MySQL은 WHILE 문과 END WHILE 문 사이에 있는 식(statement)을 .. 2016. 8. 3.
[Stored Procedure] 8. IF 문과 CASE문 중 선택하는 팁 요약: 이번 강좌에서는, 저장 프로시저(Stored Procedure) 에서 IF문 과 CASE문을 선택하는데 도움을 줄 만한 힌트를 알려 줄 것이다. MySQL은 흐름 제어(flow control) 처럼 특정한 조건에 맞는 SQL 코드를 실행 하기 위해 IF 문과 CASE문을 제공한다. 그렇다면 둘 중 어떤 문법을 사용해야 할까? 대부분의 개발자들은 IF와 CASE문을 선택하는 것을 개인의 선호도로 선택 한다. 하지만, IF나 CASE를 결정 했을 때, 아래 사항들을 고려 해봐야 한다.간단한 CASE 문은 특정한 값의 범위에 대한 간단한 표현식을 비교 했을 때는, IF문 보다 CASE문이 더 가독성이 좋다. 추가로, simple CASE문은 IF문 보다 더 효율적이다.다중 값을 기반으로 하는 복잡한 표.. 2016. 8. 1.