DB/MSSQL

[MSSQL] 프로시저 (Stored Procedure)

Nuu 2025. 3. 31. 13:08

프로시저 Procedure

자주 사용하는 SQL 쿼리나 복잡한 비즈니스 로직을 하나의 이름으로 저장해두고 호출해서 실행

 

- MySQL은 웹 백엔드(PHP, Node.js 등)와 함께 쓰는 일이 많아서,

로직을 DB에 넣기보단 애플리케이션 쪽에서 처리하는 경우가 많음

- MsSQL에서는 비즈니스 로직을 DB에 넣는 문화가 강해서, 프로시저를 자주 활용

 

 

기본구조

CREATE PROCEDURE 프로시저이름
    @파라미터1 타입,
    @파라미터2 타입 OUTPUT
AS
BEGIN
    -- SQL 로직
END

 

 

 

프로시저 vs 함수 vs 트리거

반환 여러 개 가능 (OUT) 1개 값 없음
호출 위치 EXEC SELECT 등 안에서 이벤트 자동 실행
트랜잭션 O X X (제한적)
복잡 로직 O (조건/분기 등) 제한적 제한적