PRINT(Transact-SQL)
적용 대상: Microsoft Fabric의 Microsoft FabricWarehouse에 있는 SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsPlatform System(PDW) SQL 분석 엔드포인트
사용자 정의 메시지를 클라이언트에게 반환합니다.
Syntax
PRINT msg_str | @local_variable | string_expr
참고 항목
SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.
인수
msg_str
문자열 또는 유니코드 문자열 상수입니다. 자세한 내용은 상수(Transact-SQL)를 참조하세요.
@local_variable
유효한 문자 데이터 형식의 변수입니다. @local_variable은 char, nchar, varchar 또는 nvarchar이거나 이러한 데이터 형식으로 암시적으로 변환될 수 있어야 합니다.
string_expr
문자열을 반환하는 식입니다. 연결된 리터럴 값, 함수 및 변수를 포함할 수 있습니다. 자세한 내용은 식(Transact-SQL)을 참조하세요.
설명
메시지 문자열은 비유니코드 문자열일 경우 최대 8,000자까지 가능하며 유니코드 문자열일 경우 최대 4,000자까지 가능합니다. 이보다 긴 문자열은 잘립니다. varchar(max) 및 nvarchar(max) 데이터 형식은 varchar(8000) 및 nvarchar(4000) 보다 크지 않은 데이터 형식으로 잘립니다.
RAISERROR를 사용하여 메시지를 반환할 수도 있습니다. RAISERROR는 PRINT에 비해 3가지 장점이 있습니다.
RAISERROR는 C 언어 표준 라이브러리의 printf 함수를 바탕으로 모델링된 메커니즘을 사용하여 인수를 오류 메시지 문자열로 대체할 수 있습니다.
RAISERROR는 텍스트 메시지와 별도로 고유 오류 번호, 심각도 및 상태 코드를 지정할 수 있습니다.
RAISERROR는 sp_addmessage 시스템 저장 프로시저를 사용하여 생성된 사용자 정의 메시지를 반환하는 데 사용할 수 있습니다.
예제
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
에서 반환되도록 리터럴 텍스트와 연결합니다.
-- Build the message text by concatenating
-- strings and expressions.
PRINT N'This message was printed on '
+ RTRIM(CAST(GETDATE() AS NVARCHAR(30)))
+ N'.';
GO
-- This example shows building the message text
-- in a variable and then passing it to PRINT.
-- This was required in SQL Server 7.0 or earlier.
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 문
다음 예에서는 PRINT
문을 사용하여 조건에 따라 메시지를 반환합니다.
IF DB_ID() = 1
PRINT N'The current database is master.';
ELSE
PRINT N'The current database is not master.';
GO
참고 항목
데이터 형식(Transact-SQL)
DECLARE @local_variable (Transact-SQL)
RAISERROR(Transact-SQL)
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기