Partilhar via


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