컴퓨터 과학/데이터 베이스

스토어드 프로시저(Stored Procedure)란?

Data Jun 2025. 8. 20. 09:49

데이터베이스를 사용하다 보면, 같은 SQL 문을 반복해서 실행해야 하는 경우가 많습니다.
예를 들어, 특정 회원 정보를 자주 조회하거나, 특정 상품 데이터를 자주 확인해야 할 때가 있죠.

 

이때 매번 SQL 문을 일일이 작성하는 대신, 미리 데이터베이스 안에 저장해 두고 필요할 때마다 불러서 실행할 수 있는 기능이 있는데, 이것이 바로 스토어드 프로시저(Stored Procedure) 입니다.

 

개념 정리

  • Stored → "저장된"
  • Procedure → "절차(코드 묶음)"

👉 즉, 데이터베이스 안에 저장된 SQL 명령어의 집합이라고 할 수 있습니다.
한 번 만들어두면 CALL 명령으로 간단하게 실행할 수 있습니다.

 

예시 코드

DELIMITER //
CREATE PROCEDURE myProc()
BEGIN
    SELECT * FROM membertbl WHERE memberName = '당탕이';
    SELECT * FROM producttbl WHERE productName = '냉장고';
END//
DELIMITER ;

-- 실행
CALL myProc();

위 예제에서는 myProc()이라는 프로시저를 만들어 두고,

  1. 이름이 ‘당탕이’인 회원 조회
  2. 상품명이 ‘냉장고’인 제품 조회

두 가지 SQL을 한 번에 실행할 수 있도록 저장했습니다.

 

왜 사용할까?

  1. 재사용성 → 자주 쓰는 SQL 문을 저장해두고 반복 실행 가능
  2. 편의성 → CALL 프로시저명 한 줄로 여러 SQL 실행
  3. 유지보수 용이 → SQL 로직을 DB 안에서 관리 가능

 

정리

스토어드 프로시저는 말 그대로 DB 안에 저장된 SQL 실행 레시피입니다.
자주 반복되는 SQL 작업이 있다면, 프로시저를 만들어두고 CALL로 간단하게 실행하면 훨씬 편리합니다.