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 에서 동적 쿼리를 만드는 방법을 이야기 해 보았습니다.
'프로그래밍 > DB' 카테고리의 다른 글
mssql 컬럼 추가 수정 삭제 및 설명(코멘트) 추가 쿼리 (4) | 2019.06.07 |
---|---|
MS-SQL 요일 구하는 쿼리 (1) | 2019.05.28 |
웹환경과 DB툴에서 실행 된 쿼리 속도가 다른경우 (2) | 2018.08.08 |
mssql 오류 - 선택한 원본 데이터베이스에 가시 테이블 또는 뷰가 없습니다 (3) | 2018.04.26 |
[MS-SQL] 테이블명 컬럼명 자동완성 기능 (0) | 2017.12.18 |