Partilhar via


IMPRESSÃO (Transact-SQL)

Aplica-se a:SQL ServerBase de Dados SQL do AzureInstância Gerida do Azure SQLAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)Ponto de Extremidade de Análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de Dados SQL no Microsoft Fabric

Retorna uma mensagem definida pelo usuário para o cliente. Por exemplo, no SQL Server Management Studio, PRINT as saídas para a guia Mensagens da janela de resultados da consulta.

Transact-SQL convenções de sintaxe

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 concatenados, funções e variáveis. Para obter mais informações, consulte 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. Strings 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 suporta a 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.

  • RAISERRORpode ser usado para retornar mensagens definidas pelo usuário criadas usando o procedimento armazenado do sistema sp_addmessage (Transact-SQL).

Examples

A. Execução condicional de impressão (SE EXISTIR)

O exemplo a seguir usa a PRINT instrução para retornar condicionalmente uma mensagem.

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 and Analytics Platform System (PDW)

C. Executar impressão condicionalmente

O exemplo a seguir usa a PRINT instrução para retornar condicionalmente uma mensagem.

IF DB_ID() = 1
    PRINT N'The current database is ''master''.';
ELSE
    PRINT N'The current database is not ''master''.';
GO