我正在运行一个调用sql脚本的批处理文件。 sql脚本完成工作,然后将完成的工作打印到日志文件中。所做的工作与更改数据库中的许多记录有关,日志文件包括为数据库中更改的每个记录打印密钥。所有这些工作。我只想打印出用户更改到控制台的记录数。如果我将术语设置为ON(或至少不将其关闭),则所有日志文件输出都将显示在屏幕上。否则,除批处理文件中回显的内容外,不会显示任何其他内容。如何仅将sql脚本中的数字输出到控制台?
批处理文件调用与此类似:
sqlplus -S %DB_LOGIN%/%DB_PWD%@%DB_SRVR% as sysdba @sql\sqlscript.sql %record_id% %timestamp% @COUNT output
echo %@COUNT%
但是回显计数不会显示计数。
sqlscript设置:
SET VERIFY OFF
SET LINES 1000
SET FEEDBACK OFF
SET SUFFIX text
SET PAGES 0
SET ECHO ON
SET TERM OFF
SET SERVEROUTPUT ON SIZE UNLIMITED
SET TRIMS ON
Spool DB_Records_&1-&2..log
声明变量。
获取需要更改的记录数。
Commits.
DBMS_OUTPUT.PUT_LINE('Total records changed = ' || count);
END;
/
Spool Off
输出行会将输出添加到.log,但是如何使该行仅显示在控制台上,或将其输出到批处理文件以显示?