在SQLPLUS中执行SQL脚本时如何回显文本

前端之家收集整理的这篇文章主要介绍了在SQLPLUS中执行SQL脚本时如何回显文本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个批处理文件,它在sqlplus中运行sql脚本,并将输出发送到日志文件

sqlplus user/pw < RowCount.sql > 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): 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

猜你在找的MsSQL相关文章