PRINT (Transact-SQL)

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure Управляемый экземпляр SQL Azure Конечная точка аналитики аналитики Synapse Analytics Analytics (PDW)SQL Analyticsв Microsoft FabricХранилище в Microsoft Fabric

Возвращает клиенту пользовательское сообщение.

Соглашения о синтаксисе Transact-SQL

Синтаксис

PRINT msg_str | @local_variable | string_expr  

Примечание.

Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.

Аргументы

msg_str
Символьная строка или строковая константа Юникода. Дополнительные сведения см. в статье Константы (Transact-SQL).

@local_variable
Переменная любого допустимого символьного типа данных. Аргумент @local_variable должен иметь тип char, nchar, varchar, or nvarchar либо должен неявно преобразовываться в эти типы данных.

string_expr
Выражение, возвращающее строку. Может содержать объединенные буквенные значения, функции и переменные. Дополнительные сведения см. в статье Выражения (Transact-SQL).

Замечания

Строка сообщения может иметь длину до 8 000 символов для строки, отличной от Юникода, и 4 000 символов для строки в Юникоде. Более длинные строки усекаются. Типы данных varchar(max) и nvarchar(max) усекаются до типов данных, которые не длиннее varchar(8000) и nvarchar(4000).

Для возвращения сообщений можно также использовать функцию RAISERROR. Преимущества функции RAISERROR перед функцией PRINT:

  • функция RAISERROR поддерживает вставку аргументов в строку сообщения об ошибке с помощью механизма, основанного на функции printf из стандартной библиотеки языка С;

  • в дополнение к текстовому сообщению, функция RAISERROR может в сообщении указать уникальный номер ошибки, степень ее серьезности и код состояния;

  • функция RAISERROR может быть использована для возвращения пользовательских сообщений, созданных с помощью системной хранимой процедуры sp_addmessage.

Примеры

А. Печать, выполняемая по условию (IF EXISTS)

В следующем примере инструкция PRINT применяется для возвращения сообщения по условию.

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. Построение и отображение строки

В следующем примере результаты функции GETDATE преобразуются в тип данных nvarchar и объединяются с текстовой строкой для последующего возврата функцией 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  

Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)

C. Печать, выполняемая по условию

В следующем примере инструкция PRINT применяется для возвращения сообщения по условию.

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

См. также

Типы данных (Transact-SQL)
DECLARE @local_variable (Transact-SQL)
RAISERROR (Transact-SQL)