使用print
2015-06-18 07:23
267 查看
使用 PRINT
SQL Server 2008 R2其他版本
PRINT 语句用于将消息返回到应用程序。PRINT 采用字符或 Unicode 字符串表达式作为参数,并将字符串作为消息返回到应用程序。使用 SQLClient 命名空间或 ActiveX 数据对象 (ADO)、OLE DB 和开放式数据库连接 (ODBC) 应用程序编程接口 (API) 将消息作为信息性错误返回到应用程序。SQLSTATE 设置为 01000,本机错误设置为 0,而错误消息字符串设置为在 PRINT 语句中指定的字符串。字符串返回到 DB-Library
应用程序的消息处理程序回调函数中。
PRINT 语句接受任何字符串表达式,包括字符或 Unicode 类型的常量和局部变量名,或返回字符或 Unicode 字符串的函数。PRINT 还接受由两个或多个常量、局部变量或函数串联生成的复杂字符串。
使用 PRINT 可以帮助我们排除 Transact-SQL 代码中的故障、检查数据值或生成报告。
下面的示例在 IF 语句使用了 PRINT,以在 Hex
Nut 17 产品编号低于 1100 时返回消息。
USE AdventureWorks2008R2; GO IF (SELECT SUM(i.Quantity) FROM Production.ProductInventory i JOIN Production.Product p ON i.ProductID = p.ProductID WHERE Name = 'Hex Nut 17' ) < 1100 PRINT N'There are less than 1100 units of Hex Nut 17 in stock.' GO
下面的示例使用串联打印局部变量、系统函数和文本字符串的组合。
USE AdventureWorks2008R2; GO DECLARE @MyObject NVARCHAR(257); SET @MyObject = N'Production.Product'; PRINT N'Object Name: ' + @MyObject PRINT N' Object ID: ' + STR(OBJECT_ID(@MyObject)) GO
下面的示例说明了通过串联字符串生成打印消息的两种方法。
-- Build a print message by concatenating strings in a PRINT -- statement. PRINT N'The Database Engine instance ' + RTRIM(@@SERVERNAME) + N' is running SQL Server build ' + RTRIM(CAST(SERVERPROPERTY(N'ProductVersion ') AS NVARCHAR(128))); GO -- This shows building a character variable that is used to -- print a message. DECLARE @Msg NVARCHAR(300); SELECT @Msg = N'The Database Engine instance ' + RTRIM(@@SERVERNAME) + N' is running SQL Server build ' + RTRIM(CAST(SERVERPROPERTY(N'ProductVersion') AS NVARCHAR(128))); PRINT @Msg; GO
相关文章推荐
- OSChina 周四乱弹 —— 反手摸第二季来袭
- 运行报表时提示输入用户名和密码
- SQL 中的print
- 三种继承方式和访问控制方式对子类成员的影响
- (14)迭代器模式
- (13)适配器模式
- (12)策略模式
- 查询oracle中所有用户信息
- 收藏:计算机是如何启动的?
- c 的内存分配与释放原则: 通常应遵循“谁malloc,谁free”的原则。
- 总算知道怎样从ImageMagick生成的数据转换成HICON: MagickGetImageBlob & LookupIconIdFromDirectoryEx
- 大数据方面和java方面资料链接
- 收藏:Non-direct与direct ByteBuffer区别
- java NIO 直接与非直接缓冲区
- SQL server变量的声明和赋值
- [收藏]:[算法]LRU和LFU的区别
- 异步IO的并发能力:backlog的配置很重要
- SQL SERVER 变量赋值的方法
- ByteBuffer: 当由一个byte[]来生成一个固定不变的ByteBuffer时,使用ByteBuffer.wrap(byte[]);
- ByteBuffer的allocate与allocateDirect2013-01-11