来自 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...
Run Code Online (Sandbox Code Playgroud)
如果我需要澄清请指教,谢谢!
下面的语法允许您在查询之前或之后放置注释,以便注释显示在 output.txt 文件中:
BEGIN
DBMS_OUTPUT.PUT_LINE('TEXT GOES HERE ');
END;
/
Run Code Online (Sandbox Code Playgroud)
您还应该发出SET SERVEROUTPUT ON
以确保该PUT_LINE
命令可以工作。
以下是您可以在DBMS_OUTPUT.PUT_LINE
用于控制输出格式时使用的一些命令:
SET UNDERLINE OFF
SET LINESIZE 32767
SET PAGES 10000
SET TRIMSPOOL ON
SET TRIMOUT ON
SET FEEDBACK OFF
SET HEADING ON
SET NEWPAGE 0
SET HEADSEP OFF
SET WRAP OFF
SET TERMOUT OFF
Run Code Online (Sandbox Code Playgroud)
就我而言,我必须使用特定设置来允许我的输出停止自动换行并导致格式被丢弃。
SET LINESIZE 32767
SET HEADING ON
SET HEADSEP OFF
SET WRAP OFF
Run Code Online (Sandbox Code Playgroud)