1. 프로시저 생성
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://bowwowmew.egloos.com/593664
여기에 들어가면 저장프로시저의 장점이 잘나와있어요
'Database' 카테고리의 다른 글
MySQL 루트 비밀번호 변경 (0) | 2015.01.15 |
---|---|
MySQL 모든 프로시저 삭제 (0) | 2014.08.20 |
리눅스 mysql, 자바 연동 (java.lang.ClassNotFoundException: com.mysql.jdbc.driver 에러) (0) | 2014.08.11 |
mysql 계정, 사용자 생성 및 삭제 / 권한관리 (0) | 2014.08.08 |
mysql 원격 접속 방법 (0) | 2014.08.07 |
댓글