PRINT (Transact-SQL)

Retorna uma mensagem definida pelo usuário ao cliente.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

PRINT msg_str | @local_variable | string_expr

Argumentos

  • msg_str
    É uma cadeia de caracteres ou uma constante de cadeia de caracteres Unicode. Para obter mais informações, consulte Constantes (Transact-SQL).

  • **@**local_variable
    É uma variável de qualquer tipo de dados de caractere válido. **@**local_variable deve ser char, nchar, varchar ou nvarchar ou deve deve ser convertido implicitamente para aqueles tipos de dados.

  • string_expr
    É uma expressão que retorna uma cadeia de caracteres. Pode incluir valores literais, funções e variáveis concatenadas. Para obter mais informações, consulte Expressões (Transact-SQL).

Comentários

Uma cadeia de caracteres de mensagem pode ter até 8.000 caracteres se for uma cadeia de caracteres não-Unicode e 4.000 caracteres se for uma cadeia de caracteres Unicode. Cadeias de caracteres mais longas são truncadas. Os tipos de dados varchar(max) e nvarchar(max) são truncados para tipos de dados que não são maiores do que varchar(8000) e nvarchar(4000).

Para obter informações sobre como os aplicativos processam as mensagens retornadas pela instrução PRINT, consulte Tratando erros e mensagens em aplicativos.

RAISERROR também pode ser usado para retornar mensagens. RAISERROR tem estas vantagens sobre PRINT:

  • RAISERROR oferece suporte à substituição de argumentos em uma cadeia de caracteres de mensagem de erro usando um mecanismo modelado sobre a função printf da biblioteca padrão da linguagem C.

  • RAISERROR pode especificar um número de erro exclusivo, uma severidade e um código de estado, além da mensagem de texto.

  • RAISERROR pode ser usado para retornar mensagens definidas pelo usuário criadas com o uso do procedimento armazenado do sistema sp_addmessage.

Exemplos

A. Executando print condicionalmente (IF EXISTS)

O exemplo a seguir usa a instrução PRINT para retornar uma mensagem condicionalmente.

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. Construindo e exibindo uma cadeia de caracteres

O exemplo a seguir converte os resultados da função GETDATE em um tipo de dados nvarchar e o concatena com o texto literal a ser retornado por 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