본문 바로가기
이것저것

SQL Server 저장 프로시저 만들기

by le_piee 2022. 12. 19.

 

저장 프로시저란? 

일련의 쿼리를 마치 하나의 함수처럼 실행하는 쿼리의 집합.

 

쉽게 말해 자주 사용하는 것들을 함수처럼 만들어 놓는 것이다.

 

아래 프로시저는 T_Record 테이블에서 데이터를 조회하여 T_History 테이블에 넣는 쿼리문이다

CREATE PROCEDURE SP_HISTORY(
	--프로시저 호출 시 받을 파라미터
	@RECORD_NO INT,
)
AS
BEGIN
	-- 프로시저에서 사용 할 변수
	DECLARE @HISTORY_SEQ INT,
			@RECORD_TIME DATETIME,
			@HISTORY_DATE DATETIME;
			
            -- 데이터를 조회하여 변수에 저장
			SELECT @RECORD_TIME = A.EndTime,
				   @HISTORY_DATE = A.SysModDT
				   FROM T_Record A
				   WHERE A.RecordNo = @RECORD_NO;
                   
            --변수에 있는 데이터 입력
			INSERT INTO T_History ( RecordNo, CommuteType, HistorySeq)
			VALUES
			(
				@RECORD_NO,
				'E',
				@HISTORY_SEQ
			)
END

 

저장 프로시저를 만든 다음 아래 쿼리를 날리면 만들어 놓은 프로시저가 호출 된다.

ecex SP_HISTORY 11;

 

 

 

이렇게만 보면 아 이걸 써먹을 곳이 있어? 라고 생각 할 수도 있지만

TRIGGER와 함께 사용한다면 엄청난 기능을 만들 수 있다.

 

TRIGGER로 특정 테이블에 데이터가 입력 되거나 업데이트 되었을 때 저장 프로시저를 동작하게 만든다면

해당 테이블의 변경 이력 등을 저장하도록 쉽게 구현 할 수가 있다.

 

 

'이것저것' 카테고리의 다른 글

항해플러스 1기 후기  (1) 2023.08.22
클린코드 1~3장  (0) 2023.06.20
컴파일(compile)과 인터프리터(interpreter)  (0) 2021.02.17
[Mac M1] brew(브루) 설치  (0) 2021.02.15
Azure- Database Client IP 추가하기  (0) 2020.05.22