PRINT (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW) Ponto de extremidade de análise de SQL no Microsoft Fabric Warehouse no Microsoft Fabric Banco de Dados SQL no Microsoft Fabric
Retorna uma mensagem definida pelo usuário ao cliente. Por exemplo, no SQL Server Management Studio, PRINT
as saídas para a guia Mensagens da janela de resultados da consulta.
Convenções de sintaxe de Transact-SQL
Sintaxe
PRINT msg_str | @local_variable | string_expr
Argumentos
msg_str
Uma cadeia de caracteres ou constante de cadeia de caracteres Unicode. Para obter mais informações, consulte Constantes.
@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 ser capaz de ser implicitamente convertido para esses 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, confira Expressões.
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 que varchar(8000) e nvarchar(4000).
RAISERROR também pode ser usado para retornar mensagens. RAISERROR
tem estas vantagens sobre PRINT
:
RAISERROR
dá suporte à substituição de argumentos em uma cadeia de caracteres de mensagem de erro usando um mecanismo modelado na função printf da biblioteca padrão da linguagem C.RAISERROR
pode especificar um número de erro exclusivo, uma gravidade 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 (Transact-SQL ).
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. Criar e exibir 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 texto literal, que é retornado por PRINT
.
PRINT N'This message was printed on ' + RTRIM(CAST(GETDATE() AS NVARCHAR(30))) + N'.';
GO
O exemplo a seguir mostra a criação do texto da mensagem em uma variável.
DECLARE @PrintMessage NVARCHAR(50);
SET @PrintMessage = N'This message was printed on ' + RTRIM(CAST(GETDATE() AS NVARCHAR(30))) + N'.';
PRINT @PrintMessage;
GO
Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)
C. Executar impressão condicionalmente
O exemplo a seguir usa a instrução PRINT
para retornar uma mensagem condicionalmente.
IF DB_ID() = 1
PRINT N'The current database is ''master''.';
ELSE
PRINT N'The current database is not ''master''.';
GO