MySQL - 프로시저 문법(생성, 수정, 삭제, 호출), 프로시저 확인, 사용 예제

구문

  • procedure_name : 프로시저의 이름
  • var1, var2 ... : 입력 매개 변수의 이름

 

프로시저 생성 구문

DELIMITER //
CREATE PROCEDURE new_procedure_name (IN var1 datatype, IN var2 datatype, ...)
BEGIN
    -- procedure body
END //
DELIMITER ;

프로시저 수정 구문

DELIMITER //
ALTER PROCEDURE procedure_name (IN var1 datatype, IN var2 datatype, ...)
BEGIN
    -- procedure body
END //
DELIMITER ;

프로시저 삭제 구문

DROP PROCEDURE procedure_name;

프로시저 실행

CALL procedure_name (arg1, arg2, ...);

반응형

사용 예시

  • 입력한 값을 출력하는 간단한 프로시저 생성 하고 삭제하기

 

프로시저 생성

DELIMITER $$
create procedure printNumber (
	in iNum int
)
BEGIN
	SELECT iNum;
END $$
DELIMITER ;

프로시저 실행

CALL printNumber(1);


프로시저 삭제

DROP PROCEDURE printNumber;


프로시저 관련 명령어

SHOW CREATE PROCEDURE

저장된 프로시저의 정보 확인

-- SHOW CREATE PROCEDURE procedure_name;
SHOW CREATE PROCEDURE printNumber;


SHOW PROCEDURE STATUS

  • 현재 DB에 저장되어 있는 모든 프로시저 출력
SHOW PROCEDURE STATUS;


+ DELIMITER

  • 단일 문자열에서 여러 문을 구분하는데 사용
  • MySQL의 일반적인 문 구분 기호는 세미콜론(;) 사용
  • 저장 프로시저를 정의 할 때 세미콜론은 프로시저 내에서 문을 구분하기 위해 사용되므로 여러 문을 구분하기 위한 다른 구분 기호가 필요
    • 구분 기호 : $$ 또는 // 사용
      • 사용자의 선호도에 따라 선택해서 사용