PRINT (Transact-SQL)
Retorna uma mensagem definida pelo usuário ao cliente.
Convenções da 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).
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 usando o 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