您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

内置库 SQLSCRIPT_PRINT

语法

代码语法CREATE LIBRARY SYS.SQLSCRIPT_PRINT LANGUAGE SQLSCRIPT AS BUILTINBEGIN PROCEDURE PRINT_LINE(IN VALUE NVARCHAR(8388607)); PROCEDURE PRINT_TABLE(IN TAB TABLE(...), IN MAX_RECORDS INT DEFAULT 100);END;

描述

PRINT 库可以打印字符串,甚至可以打印整个表。与 STRING 库一起使用时,此功能特别有用。PRINT 库过程根据 参数生成服务器端结果,并将其存储在内部缓冲区中。仅在 PROCEDURE 执行结束后才会在客户端中输出所有存储的字符串。在嵌套执行的情况下,PRINT 结果会在最外层的 CALL 执行结束后传送到客户端。传统的基于结果集的结果不会与 PRINT 结果混合。

PRINT 库过程可以并行执行。一次刷新总体 PRINT 结果,而不将其写入每个请求的特定流中。SQLScript 确保 PRINT 结果的顺序(基于 PROCEDURE 正文中的描述顺序),而不是基于执行顺序。 备注仅在 SAP HANA HDBSQL 中支持内置库 SQLSCRIPT_PRINT。

PRINT_LINE

此库过程返回字符串作为 PRINT 结果。过程接受 NVARCHAR 值作为输入,但也可以输入大多数其它值,只要可以进行隐式转换(例如,INTEGER 到 NVARCHAR)。因此,大多数非 NVACHAR 值可用作参数,因为它们受 SQLScript 隐式转换支持。用户可以使用并置运算符 (||)、TO_NVARCHAR() 值格式设置或新引入的 SQLSCRIPT_STRING 内置库自由引入字符串操作。

PRINT_TABLE

此库过程获取表变量并返回 PRINT 结果。PRINT_TABLE() 将表变量解析为单个字符串,并将该字符串发送到客户端。参数 MAX_RECORDS 限制要打印的行数。PRINT_TABLE() 主要与 STRING 库的 TABLE_SUMMARY 一起使用。

示例

示例代码DOBEGIN USING SQLSCRIPT_PRINT as LIB; LIB:PRINT_LINE('HELLO WORLD'); LIB:PRINT_LINE('LINE2'); LIB:PRINT_LINE('LINE3');END; DOBEGINUSING SQLSCRIPT_PRINT as LIB1; USING SQLSCRIPT_STRING as LIB2; LIB1:PRINT_LINE('HELLO WORLD'); LIB1:PRINT_LINE('Here is SAMPLE1'); T1 = SELECT * FROM SAMPLE1; LIB1:PRINT_LINE(LIB2:TABLE_SUMMARY(:T1)); LIB1:PRINT_LINE('Here is SAMPLE2'); T2 = SELECT * FROM SAMPLE2; LIB1:PRINT_TABLE(:T2); LIB1:PRINT_LINE('End of PRINT');END;