PRINT (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)Ponto de extremidade de SQL no Microsoft FabricWarehouse no Microsoft Fabric

Retorna uma mensagem definida pelo usuário ao cliente.

Convenções de sintaxe de Transact-SQL

Sintaxe

PRINT msg_str | @local_variable | string_expr  

Observação

Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

msg_str
É uma cadeia de caracteres ou uma constante de cadeia de caracteres Unicode. Para obter mais informações, confira 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 poder ser implicitamente convertido nesses 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 (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 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 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  

Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)

C. Executando print 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  

Consulte Também

Tipos de dados (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
RAISERROR (Transact-SQL)