我有一个批处理文件,它在sqlplus中运行sql脚本,并将输出发送到日志文件:
我的日志文件包含:
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): 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
test.log中
sql> sql> SELECT COUNT(1) FROM dual; COUNT(1) ---------- 1 sql> sql> SELECT COUNT(1) FROM (SELECT 1 FROM dual UNION SELECT 2 FROM dual); COUNT(1) ---------- 2 sql> sql> EXIT