데이터베이스를 사용하다 보면, 같은 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()이라는 프로시저를 만들어 두고,
- 이름이 ‘당탕이’인 회원 조회
- 상품명이 ‘냉장고’인 제품 조회
두 가지 SQL을 한 번에 실행할 수 있도록 저장했습니다.
왜 사용할까?
- 재사용성 → 자주 쓰는 SQL 문을 저장해두고 반복 실행 가능
- 편의성 → CALL 프로시저명 한 줄로 여러 SQL 실행
- 유지보수 용이 → SQL 로직을 DB 안에서 관리 가능
정리
스토어드 프로시저는 말 그대로 DB 안에 저장된 SQL 실행 레시피입니다.
자주 반복되는 SQL 작업이 있다면, 프로시저를 만들어두고 CALL로 간단하게 실행하면 훨씬 편리합니다.
'컴퓨터 과학 > 데이터 베이스' 카테고리의 다른 글
| 데이터베이스 개체(Object) 간단 정리 (1) | 2025.08.20 |
|---|---|
| MySQL 트리거(Trigger)란? (0) | 2025.08.20 |
| Foreign Key: 논리적 vs 물리적 (0) | 2025.08.19 |
| MySQL 외래키(Foreign Key)와 ON DELETE 제약조건 (0) | 2025.08.19 |
| MySQL에서 컬럼 구조 변경하기 (ALTER TABLE 활용) (0) | 2025.08.19 |