토픽 176 / 201·SQL 및 데이터베이스 객체
저장 프로시저 (Stored Procedure)
저장 프로시저 (Stored Procedure)
데이터베이스에 저장되어 서버 측에서 실행되는 미리 컴파일된 SQL 문과 제어문의 집합으로, 이름으로 호출하여 반복적인 데이터베이스 작업을 효율적으로 수행
목적: 비즈니스 로직 캡슐화, 성능 향상(사전 컴파일), 보안 강화, 네트워크 트래픽 감소, 코드 재사용
특징: 서버 측 실행, 사전 컴파일·캐싱, 매개변수 지원(IN/OUT/INOUT), 트랜잭션 제어 가능
구성: 선언부(변수), 실행부(SQL+제어문), 예외처리부(EXCEPTION)
장점: 성능 향상(파싱 생략), 네트워크 트래픽 감소, 보안(직접 테이블 접근 차단), 유지보수(중앙 관리)
단점: 디버깅 어려움, DBMS 종속성, 버전 관리 어려움, 과도한 사용 시 DB 부하
비교: 프로시저(반환값없음/CALL) vs 함수(반환값있음/SELECT에서사용) vs 트리거(자동실행/이벤트기반)