来自 SQL SSMS 环境,我想复制他们的Print
命令,它允许您在执行查询时打印命令或变量。我正在寻找此功能以帮助在执行期间识别脚本的特定部分。
例如,我们有一个在晚上运行的 .sql 脚本,用于检查特定库存编号的差异。这些库存编号可以说是store_id
1、2、3、4、5。
该脚本有一个附加到其中的每一个的 select 语句store_id
。我希望能够为1PRINT
的 select 语句放置一个语句,Store_ID
这样我就可以看到 output.txt 文件并看到标题“ Store_id 1
”,然后是库存编号,然后看到标题“ Store_id 2
”等...
在 MSSQL SSMS 中它会喜欢这样的东西
PRINT 'Searching Inventory Discrepancies at Store 1'
Select * from table1 where store_id = '1' etc...
PRINT 'Searching Inventory Discrepancies at Store 2'
Select * from table1 where store_id = '2' etc...
如果需要澄清请指教,谢谢!
下面的语法将允许您在查询之前或之后放置注释,以便注释显示在 output.txt 文件中:
您还应该发出
SET SERVEROUTPUT ON
以确保该PUT_LINE
命令能够正常工作。以下是一些可用于
DBMS_OUTPUT.PUT_LINE
控制输出格式的命令:就我而言,我必须使用特定设置来允许我的输出停止自动换行并导致格式被丢弃。
Hector 的回答只显示了 PL/SQL 版本,实际上并没有被问到。
如果您正在寻找纯 SQL 脚本中的打印,请使用 sqlplus 命令
PROMPT
。然后执行客户端(例如sqlplus)直接打印文本,因为它不首先将文本发送到数据库,所以它甚至更快并且没有像dbms_output这样的大小限制。
缺点:您不能使用任何数据库功能,例如数据库中的 SYSDATE。
请注意: sqlplus 命令不需要
;
像 SQL 命令那样标记 SQL 命令的结尾。或者只是这样做: