본문 바로가기

tutorial10

[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.
[Stored Procedure] 7. MySQL CASE 문법 요약 : 이번 강좌에서는, 저장된 프로그램 내부의 복잡한 조건문을 구성하기 위해 MySQL CASE문의 사용 방법을 배울 것이다.IF문 이외에, MySQL은 CASE라고 불리우는 대안 조건문을 제공한다. MySQL CASE 문은 코드를 더 가독성 있고 효율성 있게 만들어 준다.CASE 문법에 관한 두개의 형태가 있다: 간단한 CASE 문, 검색된(Searched) CASE 문 간단한 CASE 문간단한 CASE문의 구조에 대해서 살펴보자:123456CASE case_expression WHEN when_expression_1 THEN commands WHEN when_expression_2 THEN commands ... ELSE commandsEND CASE;cs고유값의 집합에 대해 표현식의 값을 체크하.. 2016. 7. 29.
[Stored Procedure] 6. MySQL IF 문법 요약 : 이번 강좌에서는 조건에 맞는 SQL 코드 단락을 실행하는 MySQL IF 문법의 사용방법에 대해서 알아 볼 것이다. MySQL IF 문은 식의 특정한 조건이나 값에 맞는 SQL 문을 실행할 수 있다. MySQL에서 식을 형성하려면, 문자, 변수 연산자 심지어 함수도 결합할 수 있다. 표현식은 세개의 값(TRUE, FALSE, NULL) 중 하나를 반환한다. 링크의 IF 함수는 이번 강좌에서의 IF문 과는 차이가 있다. MySQL IF 문 구조IF 문의 구조는 아래의 설명을 따른다.123IF expression THEN statements;END IF;cs만약 조건식(expression)이 TRUE 일 경우에는 statements 식을 실행 할 것이고, 그렇지 않으면 다음 상태인 END IF로 넘.. 2016. 7. 28.
[Stored Procedure] 5. MySQL Stored Procedure 다중 값 반환 요약: 이번 강좌에서는, 다중 값을 반환하는 저장 프로시저를 개발하는 방법을 배울 것이다. MySQL 저장 함수는 오직 하나의 값만 리턴한다. 다중 값을 반환하는 저장 프로그램을 개발하기 위해 INOUT 또는 OUT 매개변수을 사용하는 저장 프로시저를 사용해야할 필요가 있다.만약 INOUT 또는 OUT 매개변수가 친숙하지 않다면, 자세한 정보가 있는 저장프로시저 매개변수 강좌를 읽고 오라. 다중 값을 반환하는 저장프로시저 예제샘플 데이터베이스의 orders 테이블을 살펴보자.아래의 저장 프로시저는 customerNumber를 받고 shipped, cancled, resolved, disputed의 총 갯수를 반환하고 있다. 123456789101112131415161718192021222324252627.. 2016. 7. 27.
[Stored Procedure] 4. MySQL Stored Procedure 매개변수 요약 : 이번 강좌에서는 매개변수를 가지는 MySQL 저장 프로시저를 작성하는 방법에 대해서 알아 볼 것이다. 또한, 매개변수의 종류를 이해하기 위해 몇 개의 예를 경험 할 수 있을 것이다. MySQL 저장 프로시저 매개변수를 소개합니다.대부분의 저장 프로시저들은 개발하기 위해 매개변수를 필요로 한다. 매개변수는 저장 프로시저를 더욱 탄력적(flexible)이고 유용하게(useful) 만들어 준다. MySQL 에서 매개변수는 3개의 모드(mode)를 가지고 있다.IN, OUT, INOUT IN - IN은 가장 기본 모드이다. 저장 프로시저에서 IN 매개변수를 정의할 경우, 호출 프로그램은 저장 프로시저에 매개변수를 전달한다. 게다가, IN 매개변수의 값은 보호되고 있다. 이것은 IN 매개변수 의 값은 저.. 2016. 7. 26.
[Stored Procedure] 2. MySQL Stored Procedure 시작하기 요약 : 이번 강좌에서는, CREATE PROCEDURE 문법을 이용해서 첫번째 MySQL Stored Procedure를 어떻게 개발하는지 보여 줄 것이다. 덧붙여서 우리는 SQL문으로 저장 프로시저를 호출하는 방법을 보여줄 것이다.첫번째 MySQL Stored Procedure 작성하기 우리는 구문(syntax)에 친숙해질 수 있도록 이름이 GetAllProducts()인 간단한 저장 프로시저를 개발할 것이다. GetAllProducts() 저장 프로시저는 products 테이블에 있는 모든 products을 선택하는 것이다.mysql 클라이언트 툴을 실행시키고 다음 명령어를 입력해라:123456DELIMITER // CREATE PROCEDURE GetAllProducts() BEGIN SELECT.. 2016. 7. 22.
[Stored Procedure] 0. MySQL Stored Procedure 소개 이번 강좌에서는 MySQL Stored Procedure 를 어떻게 개발하는지 단계별로 배우게 될 것이다. 첫번째로, 우리는 Stored Procedure 개념을 소개 하고, 이것을 언제 사용해야 하는지 토론(discuss) 할 것이다. 그리고 procedure 생성, if-else, case, loop, stored procedure's parameter 와 같은 procedure code의 기본요소들을 어떻게 사용하는지 보여줄 것이다. 각 튜토리얼은 자세한 설명이 있는 쉽게 이해할 수 있는 예시들로 이루어져 있다. 만약 이 글을 읽는 사람이 모든 튜토리얼을 통과한다면, 당신은 MySQL의 복잡한 Stored Procedure를 간단하게 개발 할 수 있게 될 것이다. MySQL Stored Proced.. 2016. 7. 21.