DB/MSSQL
[MS-SQL] 동적쿼리에서 OUTPUT Parameter 사용 예제
alien22c
2024. 1. 23. 15:07
728x90
728x90
DMV를 활용하여 특정 데이터를 조회 시 사용하게 된 쿼리로, 아래 예제를 통해 바로 실행 및 확인 가능하다.
<OUTPUT Parameter 사용 예제>
-- OUTPUT 파라미터 1개 지정 시 BEGIN DECLARE @sql NVARCHAR(1000) DECLARE @param NVARCHAR(500) DECLARE @result DATETIMEOFFSET(3) SET @sql = 'SELECT @Today = SYSDATETIMEOFFSET()' SET @param = '@Today DATETIMEOFFSET(3) OUTPUT' EXEC SP_EXECUTESQL @sql, @param, @Today=@result OUTPUT SELECT @result AS [Today] END |
-- OUTPUT 파라미터 여러개 지정 시 BEGIN DECLARE @sql2 NVARCHAR(1000) DECLARE @param2 NVARCHAR(500) DECLARE @result2_Today DATETIMEOFFSET(3) DECLARE @result2_Yesterday DATETIMEOFFSET(3) DECLARE @result2_Tomorrow DATETIMEOFFSET(3) SET @sql2 = 'SELECT @Today = SYSDATETIMEOFFSET() , @Yesterday = DATEADD(DAY, -1, SYSDATETIMEOFFSET()) , @Tomorrow = DATEADD(DAY, 1, SYSDATETIMEOFFSET())' SET @param2 = '@Today DATETIMEOFFSET(3) OUTPUT , @Yesterday DATETIMEOFFSET(3) OUTPUT , @Tomorrow DATETIMEOFFSET(3) OUTPUT' EXEC SP_EXECUTESQL @sql2, @param2 , @Today = @result2_Today OUTPUT , @Yesterday = @result2_Yesterday OUTPUT , @Tomorrow = @result2_Tomorrow OUTPUT SELECT @result2_Today AS [Today], @result2_Yesterday AS [Yesterday], @result2_Tomorrow AS [Tomorrow] END |
728x90
728x90