PRINT (Transact-SQL)PRINT (Transact-SQL)

APLICA-SE A: simSQL Server (a partir do 2008) simBanco de Dados SQL do Azure simSQL Data Warehouse do Azure simParallel Data Warehouse APPLIES TO: yesSQL Server (starting with 2008) yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Retorna uma mensagem definida pelo usuário ao cliente.Returns a user-defined message to the client.

Ícone de link do tópico Convenções de sintaxe de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

PRINT msg_str | @local_variable | string_expr  

ArgumentosArguments

msg_strmsg_str
É uma cadeia de caracteres ou uma constante de cadeia de caracteres Unicode.Is a character string or Unicode string constant. Para obter mais informações, consulte Constantes (Transact-SQL).For more information, see Constants (Transact-SQL).

@ local_variable@ local_variable
É uma variável de qualquer tipo de dados de caractere válido.Is a variable of any valid character data type. @local_variable deve ser char, nchar, varchar ou nvarchar ou deve poder ser convertido implicitamente nesses tipos de dados.@local_variable must be char, nchar, varchar, or nvarchar, or it must be able to be implicitly converted to those data types.

string_exprstring_expr
É uma expressão que retorna uma cadeia de caracteres.Is an expression that returns a string. Pode incluir valores literais, funções e variáveis concatenadas.Can include concatenated literal values, functions, and variables. Para obter mais informações, veja Expressões (Transact-SQL).For more information, see Expressions (Transact-SQL).

RemarksRemarks

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.A message string can be up to 8,000 characters long if it is a non-Unicode string, and 4,000 characters long if it is a Unicode string. Cadeias de caracteres mais longas são truncadas.Longer strings are truncated. 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).The varchar(max) and nvarchar(max) data types are truncated to data types that are no larger than varchar(8000) and nvarchar(4000).

RAISERROR também pode ser usado para retornar mensagens.RAISERROR can also be used to return messages. RAISERROR tem estas vantagens sobre PRINT:RAISERROR has these advantages over 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 supports substituting arguments into an error message string using a mechanism modeled on the printf function of the C language standard library.

  • RAISERROR pode especificar um número de erro exclusivo, uma severidade e um código de estado, além da mensagem de texto.RAISERROR can specify a unique error number, a severity, and a state code in addition to the text message.

  • RAISERROR pode ser usado para retornar mensagens definidas pelo usuário criadas com o uso do procedimento armazenado do sistema sp_addmessage.RAISERROR can be used to return user-defined messages created using the sp_addmessage system stored procedure.

ExemplosExamples

A.A. Executando print condicionalmente (IF EXISTS)Conditionally executing print (IF EXISTS)

O exemplo a seguir usa a instrução PRINT para retornar uma mensagem condicionalmente.The following example uses the PRINT statement to conditionally return a message.

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.B. Construindo e exibindo uma cadeia de caracteresBuilding and displaying a string

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.The following example converts the results of the GETDATE function to a nvarchar data type and concatenates it with literal text to be returned by 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 SQL Data WarehouseAzure SQL Data Warehouse e Parallel Data WarehouseParallel Data WarehouseExamples: Azure SQL Data WarehouseAzure SQL Data Warehouse and Parallel Data WarehouseParallel Data Warehouse

C.C. Executando print condicionalmenteConditionally executing print

O exemplo a seguir usa a instrução PRINT para retornar uma mensagem condicionalmente.The following example uses the PRINT statement to conditionally return a message.

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

Consulte TambémSee Also

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