MSSQL INSERT EXEC 저장 프로시저 실행 결과 테이블에 저장하기
MS SQL에서 INSERT EXEC 문은 저장 프로시저를 실행한 결과 집합을 기존 테이블에 저장을 할 때 사용하는 구문입니다. INSERT SELECT 문과 비슷한 기능입니다. 그리고 자주 사용하지는 않습니다.
그럼 간단한 예제를 통해서 INSERT EXEC 문 사용법에 대해서 알아보죠.
포스트 기준
– Microsoft SQL Server 2019
– SSMS 18.11
사용 예제
1. 사용법(구문)
INSERT 테이블
EXEC 프로시저명 [ 변수 [, …n] ]
2. 저장 프로시저 생성
▶ 샘플 저장 프로시저 : USP_BS_DEMO_2
/* 학번을 받아 학생정보 조회 */
CREATE PROC USP_BS_DEMO_2 (@IN_P_ID NVARCHAR(5))
AS
BEGIN
/* 테이블 변수 선언 */
DECLARE @TEMP TABLE (
P_ID NVARCHAR(50),
NAME NVARCHAR(50),
DEPART NVARCHAR(50),
GRADE SMALLINT,
S_ID NVARCHAR(50),
SUBJECT NVARCHAR(50),
SCORE SMALLINT
)
-- 테이블 변수에 저장 작업
INSERT INTO @TEMP
SELECT A.P_ID, -- 학번
B.NAME, -- 성명
B.DEPART, -- 학과
B.GRADE, -- 학년
A.S_ID, -- 과목코드
C.SUBJECT, -- 과목
A.SCORE -- 점수
FROM BS_DEMO_8_3 A
INNER JOIN BS_DEMO_8_1 B ON A.P_ID = B.P_ID
INNER JOIN BS_DEMO_8_2 C ON A.S_ID = C.S_ID
WHERE A.P_ID = @IN_P_ID -- 학번 받은 변수
-- 해당되는 데이터 조회
SELECT * FROM @TEMP
END
▶ 저장 프로시저를 실행한 화면

3. INSERT EXEC 문 사용 예시
-- 프로시저 실행 결과 데이터를 테이블에 저장한다.
INSERT INTO BS_DEMO_8_4
EXEC USP_BS_DEMO_2 '1001'
-- 데이터 확인
SELECT * FROM BS_DEMO_8_4
함께 보면 좋은 게시글
- MSSQL 저장 프로시저 사용법(실행) 및 예제 (TRY…CATCH 등)
- MSSQL 테이블 변수 생성 및 사용 방법
- MSSQL 동적 쿼리 사용법, 저장 프로시저 및 함수 활용
- MSSQL 트리거(TRIGGER) 사용법(생성) 및 예제
- MSSQL 스칼라 함수 사용법 및 예제 – 사용자 정의 함수
이 글이 도움이 되셨다면 공유 부탁 드립니다.


![[SSMS] 로컬 서버(PC)에 설치한 MSSQL 서버 연결하는 방법](https://bluesharehub.com/wp-content/uploads/2022/02/img_41.png)
