Usando PRINT

A instrução PRINT é usada para retornar mensagens aos aplicativos. PRINT toma uma expressão de cadeia de caracteres ou Unicode como parâmetro e retorna a cadeia de caracteres como uma mensagem para o aplicativo. A mensagem é retornada como um erro informativo para os aplicativos usando o namespace SQLClient ou as APIs (interfaces de programação de aplicativo) ActiveX Data Objects (ADO), OLE DB e Open Database Connectivity (ODBC). O SQLSTATE é definido como 01000, o erro nativo é definido como 0 e a cadeia de caracteres de mensagem de erro é definida como a cadeia de caracteres especificada na instrução PRINT. A cadeia de caracteres é retornada para a função de retorno de chamada do manipulador de mensagens em aplicativos DB-Library.

A instrução PRINT aceita qualquer expressão de cadeia de caracteres, inclusive constantes de caractere ou Unicode, um caractere ou nome de variável local do Unicode, ou uma função que retorne um caractere ou cadeia de caracteres Unicode. A instrução PRINT também aceita cadeias de caracteres complexas construídas concatenando-se duas ou mais constantes, variáveis locais ou funções.

Use PRINT para ajudar a solucionar os problemas de código Transact-SQL , verificar os valores de dados ou produzir relatórios.

O exemplo a seguir usa PRINT dentro de uma instrução IF para retornar uma mensagem quando o número do produto Hex Nut 17 cair abaixo de 1100.

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

O exemplo a seguir imprime uma combinação de uma variável local, funções de sistema e uma cadeia de caracteres de texto que usam concatenação.

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

O exemplo a seguir mostra dois modos de construir uma mensagem de impressão concatenando cadeias de caracteres.

-- 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