[SQL] Stored Procedure(저장 프로시저) 란? DBMS의 함수?

Subin Kim
2 min readMay 15, 2019

MySQL 문법을 알아보자!

저장 프로시저란 DB를 다룰 때 사용하는 복잡한 쿼리문을 함수처럼 등록해두고 간단하게 사용할 수 있는 명령이다. 또한, 매개변수도 반영할 수 있기 때문에 편리하다.

프로시저 선언문에서 구분자와 다르게 사용하기 위해 구분자를 설정해주는 것으로 처음과 끝을 작성한다.

내용에는 아래와 같은 양식을 따라 작성한 후 CALL이라는 명령어로 프로시저명을 호출하면 원하는 결과를 얻을 수 있다.

*프로시저 생성 양식DELIMITER [구분자]USE [데이터베이스명][구분자]
DROP PROCEDURE IF EXISTS [프로시저명][구분자]
CREATE DEFINER=`root`@`localhost` PROCEDURE `latest_articles`(IN [매개변수명] [매개변수 자료형])
BEGIN
[쿼리문];
END[구분자]
DELIMITER ;*예제DELIMITER $$USE `a4`$$DROP PROCEDURE IF EXISTS `latest_articles`$$CREATE DEFINER=`root`@`localhost` PROCEDURE `latest_articles`(IN _numberOfArticle INT(10))BEGIN
SELECT * FROM article ORDER BY id DESC LIMIT _numberOfArticle;
END$$
DELIMITER ;CALL latest_articles(3);====출력=====
최근 게시글 3개가 출력된다...

--

--