PRINT (Transact-SQL)
Возвращает клиенту пользовательское сообщение.
Синтаксис
PRINT msg_str | @local_variable | string_expr
Аргументы
- msg_str
Символьная строка или строковая константа Юникода. Дополнительные сведения см. в разделе Константы (Transact-SQL).
- @local_variable
Переменная любого допустимого символьного типа данных. Аргумент @local_variable имеет тип char или varchar или допускает возможность неявного преобразования к этим типам.
- string_expr
Выражение, возвращающее строку. Может содержать объединенные буквенные значения, функции и переменные. Длина строки сообщения может достигать 8 000 символов; все последующие символы усекаются. Дополнительные сведения см. в разделе Выражения (Transact-SQL).
Замечания
Сведения об обработке приложениями сообщений, возвращаемых инструкцией PRINT, см. в разделе Обработка ошибок и сообщений в приложениях.
Для возвращения сообщений можно также использовать функцию 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
Б. Создание и отображение строки
В этом примере результаты функции GETDATE преобразуются к типу данных varchar и объединяются с буквенным текстом, который будет возвращен функцией PRINT.
-- Build the message text by concatenating
-- strings and expressions using functionality
-- available in SQL Server 2000 and SQL Server 2005.
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
См. также
Справочник
Типы данных (Transact-SQL)
DECLARE @local\_variable (Transact-SQL)
RAISERROR (Transact-SQL)
Другие ресурсы
Использование инструкции PRINT
Использование инструкции RAISERROR