다음을 통해 공유


PRINT 사용

PRINT 문은 메시지를 응용 프로그램으로 반환하는 데 사용됩니다. PRINT 문은 매개 변수로 문자 또는 유니코드 문자열 식을 사용하여 응용 프로그램에 이 문자열을 메시지로 반환합니다. 이 메시지는 SQLClient 네임스페이스나 ADO(ActiveX Data Objects), OLE DB 및 ODBC(Open Database Connectivity) API(응용 프로그래밍 인터페이스)를 사용하여 정보 오류로 응용 프로그램에 반환됩니다. SQLSTATE는 01000으로 설정되고 원시 오류는 0으로 설정되며 오류 메시지 문자열은 PRINT 문에 지정된 문자열로 설정됩니다. 이 문자열은 DB-Library 응용 프로그램에 있는 메시지 처리기 콜백 함수에 반환됩니다.

PRINT 문에 문자나 유니코드 상수를 포함한 모든 문자열 식, 문자나 유니코드 지역 변수 이름 또는 문자나 유니코드 문자열을 반환하는 함수 등을 사용할 수 있습니다. 또한 PRINT 문에 두 개 이상의 상수, 지역 변수 또는 함수를 연결하여 만든 복잡한 문자열도 사용할 수 있습니다.

PRINT를 사용하여 Transact-SQL 코드의 문제를 해결하거나 데이터 값을 확인하거나 보고서를 작성할 수 있습니다.

다음 예에서는 Hex Nut 17 제품의 수가 1100 미만으로 떨어지는 경우 IF 문 내에 PRINT를 사용하여 메시지를 반환합니다.

USE AdventureWorks2008R2;
GO
IF (SELECT SUM(i.Quantity)
    FROM Production.ProductInventory i
    JOIN Production.Product p 
    ON i.ProductID = p.ProductID
    WHERE Name = 'Hex Nut 17'
    ) < 1100
    PRINT N'There are less than 1100 units of Hex Nut 17 in stock.'
GO

다음 예에서는 연결을 사용하여 지역 변수, 시스템 함수 및 텍스트 문자열의 조합을 인쇄합니다.

USE AdventureWorks2008R2;
GO
DECLARE @MyObject NVARCHAR(257);

SET @MyObject = N'Production.Product';

PRINT N'Object Name: ' + @MyObject
PRINT N'   Object ID: ' + STR(OBJECT_ID(@MyObject))
GO

다음은 문자열을 연결하여 인쇄 메시지를 작성하는 두 가지 방법을 보여 주는 예입니다.

-- Build a print message by concatenating strings in a PRINT
-- statement.
PRINT N'The Database Engine instance '
    + RTRIM(@@SERVERNAME)
    + N' is running SQL Server build '
    + RTRIM(CAST(SERVERPROPERTY(N'ProductVersion ') AS NVARCHAR(128)));
GO
-- This shows building a character variable that is used to
-- print a message.
DECLARE @Msg NVARCHAR(300);

SELECT @Msg = N'The Database Engine instance '
    + RTRIM(@@SERVERNAME)
    + N' is running SQL Server build '
    + RTRIM(CAST(SERVERPROPERTY(N'ProductVersion') AS NVARCHAR(128)));

PRINT @Msg;
GO