PRINT(Transact-SQL)
적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW) Microsoft Fabric의 SQL 분석 엔드포인트 Microsoft Fabric의 웨어하우스
사용자 정의 메시지를 클라이언트에게 반환합니다. 예를 들어 SQL Server Management Studio PRINT
에서 쿼리 결과 창의 메시지 탭에 출력합니다.
구문
PRINT msg_str | @local_variable | string_expr
인수
msg_str
문자열 또는 유니코드 문자열 상수입니다. 자세한 내용은 상수를 참조하세요.
@local_variable
유효한 문자 데이터 형식의 변수입니다. @local_variable char, nchar, varchar 또는 nvarchar이거나 해당 데이터 형식으로 암시적으로 변환할 수 있어야 합니다.
string_expr
문자열을 반환하는 식입니다. 연결된 리터럴 값, 함수 및 변수를 포함할 수 있습니다. 자세한 내용은 식을 참조하세요.
설명
메시지 문자열은 유니코드가 아닌 문자열인 경우 최대 8,000자, 유니코드 문자열인 경우 4,000자까지 가능합니다. 이보다 긴 문자열은 잘립니다. varchar(max) 및 nvarchar(max) 데이터 형식은 varchar(8000) 및 nvarchar(4000) 보다 크지 않은 데이터 형식으로 잘립니다.
RAISERROR 를 사용하여 메시지를 반환할 수도 있습니다. RAISERROR
에는 다음과 같은 이점이 있습니다.PRINT
RAISERROR
에서는 C 언어 표준 라이브러리의 printf 함수에서 모델링된 메커니즘을 사용하여 인수를 오류 메시지 문자열로 대체합니다.RAISERROR
는 문자 메시지 외에도 고유한 오류 번호, 심각도 및 상태 코드를 지정할 수 있습니다.RAISERROR
는 sp_addmessage(Transact-SQL) 시스템 저장 프로시저를 사용하여 만든 사용자 정의 메시지를 반환하는 데 사용할 수 있습니다.
예제
A. 조건에 따라 실행되는 PRINT 문(IF EXISTS)
다음 예에서는 PRINT
문을 사용하여 조건에 따라 메시지를 반환합니다.
IF @@OPTIONS & 512 <> 0
PRINT N'This user has SET NOCOUNT turned ON.';
ELSE
PRINT N'This user has SET NOCOUNT turned OFF.';
GO
B. 문자열 빌드 및 표시
다음 예제에서는 GETDATE 함수의 결과를 nvarchar 데이터 형식으로 변환하고 반환되는 PRINT
리터럴 텍스트와 연결합니다.
PRINT N'This message was printed on ' + RTRIM(CAST(GETDATE() AS NVARCHAR(30))) + N'.';
GO
다음 예제에서는 변수에 메시지 텍스트를 빌드하는 방법을 보여 있습니다.
DECLARE @PrintMessage NVARCHAR(50);
SET @PrintMessage = N'This message was printed on ' + RTRIM(CAST(GETDATE() AS NVARCHAR(30))) + N'.';
PRINT @PrintMessage;
GO
예: Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW)
C. 인쇄 조건부 실행
다음 예에서는 PRINT
문을 사용하여 조건에 따라 메시지를 반환합니다.
IF DB_ID() = 1
PRINT N'The current database is ''master''.';
ELSE
PRINT N'The current database is not ''master''.';
GO