. 프로시저 생성


 DELIMITER $$

 DROP PROCEDURE IF EXISTS HellloWorld$$

 CREATE PROCEDURE HelloWorld()

 BEGIN

   SELECT 'Hello World';

 END$$

 DELIMITER ;


2. 프로시저 호출

CALL HelloWorld( )


3. 응용

3-1 변수

 BEGIN

   DECLARE my_integer INT;

   DECLARE my_dob     DATE DEFAULT '1960-06-21'

   SET my_integer=20;

 END;


3-2 파라미터

 DELIMITER $$

 CREATE PROCEDURE my_sqrt(input_number INT, OUT out_number FLOAT)

 BEGIN

   SET out_number=SQRT(input_number);

 END$$

 DELIMITER ;


// IN : 읽기전용 프로시저안에서 값 변경 불가능, OUT : 프로시저 내부에서 일을 처리한디 값을 돌려줌, INOUT :  프로시저로부터 값을 전달받아 이를 고치고 다시 돌려줌


3-3 조건절 (IF/CASE)

 IF(price>500) THEN

     SET discount=10

   ELSEIF (price>100) THEN

     SET discount=5

   ELSE

     SET discount=3

   END IF


3-4 반복문 (WHILE/END WHILE, REPEAT/UNTIL절 가능)

   my_simple_loop : LOOP

     SET counter = counter+1;

   END LOOP my_simple_loop;


3.5 변수값을 SELECT 로 넣을 경우, select into

 DECLARE total NUMERIC(8,2);

   SELECT SUM(sale) INTO total

   FROM sales



출처: http://intro0517.tistory.com/51 [전디버거의 코딩이야기]