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 (조건/분기 등) | 제한적 | 제한적 |