PRINT (Transact-SQL)

向客户端返回用户定义消息。

语法

PRINT msg_str | @local_variable | string_expr

参数

msg_str

字符串或 Unicode 字符串常量。有关详细信息,请参阅常量 (Transact-SQL)

@local_variable

任何有效的字符数据类型的变量。@local_variable 的数据类型必须是 charvarchar,或者必须能够隐式转换为这些数据类型。

string_expr

返回字符串的表达式。可包括串联的文字值、函数和变量。消息字符串最长可为 8,000 个字符,超过该值以后的任何字符均被截断。有关详细信息,请参阅表达式(Transact-SQL)

备注

有关应用程序如何处理 PRINT 语句返回的消息的信息,请参阅处理应用程序中的错误和消息

RAISERROR 也可以用于返回消息。RAISERROR 与 PRINT 相比具有以下优点:

  • RAISERROR 支持使用 C 语言标准库 printf 函数上的建模机制将参数代入错误消息字符串。
  • 除了文本消息,RAISERROR 还可以指定唯一错误编号、严重性和状态代码。
  • RAISERROR 可用于返回使用 sp_addmessage 系统存储过程创建的用户定义的消息。

示例

A. 有条件地执行 PRINT (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 函数的结果转换为 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

帮助和信息

获取 SQL Server 2005 帮助