我有一个批处理文件,该文件在sqlplus中运行一个SQL脚本,并将输出发送到日志文件:
sqlplus用户/密码 RowCount.log
我的日志文件包含以下内容:
Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production SQL> SQL> COUNT(*) ---------- 0 SQL> COUNT(*) ---------- 0
等等,但是它有数千行输出,因此很难确定哪个结果属于哪个语句。
我想在输出中添加一些格式,以便我可以识别发生了什么。可以对执行的语句进行回显,也可以在脚本中手动插入一些“ echo”语句。理想情况下,它看起来像这样:
SQL> select(*) from TableA; COUNT(*) ---------- 0 SQL> select(*) from TableB; COUNT(*) ---------- 0
您可以SET ECHO ON在脚本的开头使用来实现此目的,但是,您必须使用@而不是<(也必须EXIT在末尾添加)来指定脚本:
SET ECHO ON
@
<
EXIT
test.sql
SET ECHO ON SELECT COUNT(1) FROM dual; SELECT COUNT(1) FROM (SELECT 1 FROM dual UNION SELECT 2 FROM dual); EXIT
终端
sqlplus hr/oracle@orcl @/tmp/test.sql > /tmp/test.log
测试日志
SQL> SQL> SELECT COUNT(1)从对偶; COUNT(1) ---------- 1个 SQL> SQL> SELECT COUNT(1)FROM(SELECT 1 FROM dual UNION SELECT 2 FROM dual); COUNT(1) ---------- 2个 SQL> SQL>退出