MS-SQL 동적 쿼리

 

MS-SQL에서 동적 쿼리를 만들기 위한 SP_EXECUTESQL 사용법에 대하여 간단하게 적어 봅니다.

동적으로 쿼리를 만들기 위해 쿼리를 변수에 담아 실행하는 방법입니다.

실행 후 조회 된 값을 변수로 output 하여 활용 할 수 있습니다.

 

간단한 예제를 만들어 보았습니다.

 

■ 단계

 1. 변수선언 

 2. 조회조건 값 설정

 3. 쿼리작성

 4. OUTPUT 매개변수 선언

 5. SP_EXECUTESQL  호출

 6. 조회 값 활용

 

동적 쿼리

 

실행을 하게 되면 아래와 같이 결과가 나타납니다.

 

실행결과

 

 

 MS-SQL 예제 쿼리

 

1. 변수선언

DECLARE @Query NVARCHAR(1000) 
           , @Where NVARCHAR(100) 
           , @Parameter NVARCHAR(100) 
           , @pVal1 NVARCHAR(10) 
           , @pVal2 NUMERIC(5,2)

 

2. 조회조건 값 설정        
SET @Where = ' A.Val1 = ''운영'' '

3. 쿼리작성
SET @Query =  ' SELECT @pVal1 = A.Val1 '  
SET @Query += ' , @pVal2 = A.Val2 '
SET @Query += ' FROM (SELECT ''테스트'' AS Val1, 1.2 AS Val2 UNION SELECT ''운영'' AS Val1, 2.2 AS Val2) A '
SET @Query += ' WHERE ' + @Where

4. OUTPUT 매개변수 선언
SET @Parameter =  '   @pVal1 NVARCHAR(10) OUTPUT '                            
SET @Parameter += ' , @pVal2 NUMERIC(5,2) OUTPUT ' 

 

5. SP_EXECUTESQL  호출(SP_EXECUTESQL '실행쿼리', '매개변수선언', '변수입력'   )
EXEC SP_EXECUTESQL @Query, @Parameter
                            , @pVal1 OUTPUT                            
                            , @pVal2 OUTPUT

6. 조회 값 활용

SELECT @pVal1 AS Val1, @pVal2 AS Val2

 

mssql 동적쿼리 만들기

 

간단한 예제로 mssql 에서 동적 쿼리를 만드는 방법을 이야기 해 보았습니다.

Posted by JOY [바가지]

댓글을 달아 주세요

  1. 잉여토기 2019.04.02 22:24 신고  댓글주소  수정/삭제  댓글쓰기

    엠에스엘 동적쿼리 위 예제와 함께 따라해봐도 좋겠어요.