MySQL2016.05.19 00:45

 

BEGIN … END 블록 사이에서 사용하는 변수는 스토어드 프로그램 로컬 변수, 로컬 변수라고 한다.

※ 프리페어 스테이트먼트를 사용하려면 반드시 사용자 변수를 사용 해야 함.

   

[로컬 변수 정의 및 할당]

DECLARE

DECLARE v_name VARCHAR(50) DEFAULT 'LEE';

   

SET

SET v_name = 'Kim', v_mail = 'kim@email.com';

   

SELECT … INTO

SELECT emp_no, first_name, last_name INTO v_empno, v_firstname, v_lastname

FROM employees WHERE emp_no=10001

LIMIT 1;

   

※ 프로시저 입력 파라미터, 로컬 변수, 컬럼명이 동일하게 이름을 가질 수 있으므로 입력 파라미터에는 "p_"를 로컬 변수에는 "v_"를 추가하며 명명하는 것이 좋다.

DELIMITER ;;
CREATE PROCEDURE sp_hello (IN p_first_name VARCHAR(50))
BEGIN
DECLARE v_first_name VARCHAR(50) DEFAULT 'Kim';
SELECT CONCAT('Hello ', first_name) FROM employees LIMIT 1;
END ;;
DELIMITER ;

 

신고

'MySQL' 카테고리의 다른 글

[Mysql] Error_code: 1032  (0) 2017.05.08
Can't connect to local MySQL server through socket '/tmp/mysql.sock'  (1) 2016.05.19
[Mysql] 변수  (0) 2016.05.19
[Mysql] 제어문  (0) 2016.05.19
[Mysql] 스토어드 함수  (0) 2016.05.17
[Mysql] 스토어드 프로시저  (0) 2016.05.17
Posted by TM ~ing