【发布时间】:2014-12-24 16:52:23
【问题描述】:
我正在尝试运行以下 SQLPlus* 命令集:
/usr/tmp/> sqlplus -s / @my_test_script param1 param2 <<-EOF
SET ECHO OFF
SET HEADING OFF
SET VERIFY OFF
SET TERMOUT OFF
SET FEEDBACK OFF
SET PAGES 0
SET LINESIZE 400
EXIT
EOF
SET 命令应该抑制我正在运行的脚本的输出 - 但它们没有效果,因为脚本本身可能对 ECHO、HEADING 等具有不同的“范围”。 仅当我将所有这些 SET 命令移动到脚本文件本身时,才会抑制输出。
由于这段代码最终会变成运行其他 SQL 脚本的通用脚本,因此将这些 SET 命令放在每个脚本中并不是一个好的解决方案。
有没有人知道强制 SET 命令值超过在同一个 SQLPlus*“会话”中运行的脚本的方法?
【问题讨论】:
-
我认为您重定向到 sqlplus 的
set命令正在运行 脚本。 -
您在第一行定义的 here-document 字符串是“-EOF”,但您只用“EOF”关闭它(前面没有破折号)。删除第一行“E”之前的破折号。没关系,我刚刚读到破折号忽略了 here-doc 行中的前导 TAB。谢谢你今天让我学到东西!大声笑