Compartilhar via


IMPRIMIR (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)Ponto de extremidade de análise de SQL no Microsoft FabricDepósito no Microsoft FabricBanco 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

Syntax

PRINT msg_str | @local_variable | string_expr

Arguments

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.

Remarks

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 ).

Examples

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

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