MSSQL 동적쿼리 실행 Output 변수에 담기
DB 작업을 하다보면 동적으로 쿼리를 실행하는 일이 종종 있습니다. 보안에 좋지 않은 방법이긴 하지만, 배치성의 경우라면 보안에도 크게 문제가 되지 않습니다.
DECLARE @RESULTS TABLE
(
PRJT_CD VARCHAR(10)
, PROG_SCH011 MONEY
, PROG_SCH014 MONEY
)
DECLARE @SQL1 NVARCHAR(2000);
DECLARE @PARM1 NVARCHAR(100) ;
DECLARE @OUT1 MONEY;
SET @SQL1 = '
DECLARE @MAX_SCH011_DATE VARCHAR(10);
SELECT
@MAX_SCH011_DATE = MAX(CONVERT(VARCHAR(10), SYS_REG_DT, 120))
FROM TB_RPRT2500_' + @PRJT_CD + ' A with(nolock)
WHERE A.PRJT_CD = ''' + @PRJT_CD + '''
AND RPRT_TYPE = ''' + @RPRT_TYPE + '''
AND SCH_CD = ''SCH011''
AND PLAN_TYPE = ''' + @PLAN_TYPE + '''
SELECT
@SCH011 = SUM(A.PROG)
FROM TB_RPRT2500_' + @PRJT_CD + ' A with(nolock)
WHERE A.PRJT_CD = ''' + @PRJT_CD + '''
AND RPRT_TYPE = ''' + @RPRT_TYPE + '''
AND SCH_CD = ''SCH011''
AND PLAN_TYPE = ''' + @PLAN_TYPE + '''
AND CONVERT(VARCHAR(10), SYS_REG_DT, 120) = @MAX_SCH011_DATE
'
동적으로 만들어진 쿼리를 아래와 같이 실행하면 끝!
SET @PARM1 = '@SCH011 MONEY output' -- output 파라메터 선언
EXEC SP_EXECUTESQL @SQL1, @PARM1, @SCH011 = @OUT1 output
이상으로 MSSQL 동적쿼리 실행 Output 변수에 담기에 대해 알아보았습니다.
오늘도 좋은 하루 되세요~^^
하여 오늘은 MSSQL 동적쿼리 실행 Output 변수에 담기에 대해 알아보겠습니다. 사용법은 아래와 같습니다.
DECLARE @RESULTS TABLE
(
PRJT_CD VARCHAR(10)
, PROG_SCH011 MONEY
, PROG_SCH014 MONEY
)
DECLARE @SQL1 NVARCHAR(2000);
DECLARE @PARM1 NVARCHAR(100) ;
DECLARE @OUT1 MONEY;
SET @SQL1 = '
DECLARE @MAX_SCH011_DATE VARCHAR(10);
SELECT
@MAX_SCH011_DATE = MAX(CONVERT(VARCHAR(10), SYS_REG_DT, 120))
FROM TB_RPRT2500_' + @PRJT_CD + ' A with(nolock)
WHERE A.PRJT_CD = ''' + @PRJT_CD + '''
AND RPRT_TYPE = ''' + @RPRT_TYPE + '''
AND SCH_CD = ''SCH011''
AND PLAN_TYPE = ''' + @PLAN_TYPE + '''
SELECT
@SCH011 = SUM(A.PROG)
FROM TB_RPRT2500_' + @PRJT_CD + ' A with(nolock)
WHERE A.PRJT_CD = ''' + @PRJT_CD + '''
AND RPRT_TYPE = ''' + @RPRT_TYPE + '''
AND SCH_CD = ''SCH011''
AND PLAN_TYPE = ''' + @PLAN_TYPE + '''
AND CONVERT(VARCHAR(10), SYS_REG_DT, 120) = @MAX_SCH011_DATE
'
동적으로 만들어진 쿼리를 아래와 같이 실행하면 끝!
SET @PARM1 = '@SCH011 MONEY output' -- output 파라메터 선언
EXEC SP_EXECUTESQL @SQL1, @PARM1, @SCH011 = @OUT1 output
이상으로 MSSQL 동적쿼리 실행 Output 변수에 담기에 대해 알아보았습니다.
오늘도 좋은 하루 되세요~^^
댓글
댓글 쓰기