SQL * Plus - 如何隐藏SET ECHO?

时间:2011-10-28 18:23:06

标签: oracle set echo sqlplus

在SQL PLus中,如果我想在屏幕上隐藏命令,我会在脚本的开头使用:

SET ECHO OFF

但这个命令怎么样?怎么也隐藏这个?

在MS-Dos中你可以在它前面使用@,但是在SQL * Plus中?

编辑: 我知道SQL * Plus的-S选项,但问题是我将脚本发送到客户端,因此我无法控制它们如何运行SQL * Plus。

2 个答案:

答案 0 :(得分:4)

您可能希望使用-S标志启动SQL * Plus:

sqlplus -S user/password@db @path/to/your/script

documentation说: SILENT Option

-S [ILENT]

禁止显示所有SQL * Plus信息和提示消息,包括命令提示符,命令回显以及启动SQL * Plus时通常显示的横幅。如果省略用户名或密码,SQL * Plus会提示输入,但提示不可见!使用SILENT在另一个程序中调用SQL * Plus,以便用户看不到SQL * Plus的使用。

SILENT是一种在CGI脚本或操作系统脚本中使用SQLPLUS -MARKUP命令为Web创建报告的有用模式。 SQL * Plus横幅和提示被禁止,并且不会出现在使用SILENT选项创建的报表中.SILENT选项


因此,使用静默选项似乎根本不需要使用set echo

答案 1 :(得分:3)

不,我知道如果启用了回音,就无法隐藏'set echo off'命令。

但是,默认情况下,echo处于关闭状态。那么,如果你最初启动SQL * Plus时启用了echo,那么你可能有一个包含'set echo on'的login.sql或glogin.sql?

检查$ ORACLE_HOME / sqlplus / admin中的glogin.sql,以及启动SQL * Plus的目录中的login.sql以及$ SQLPATH中列出的任何目录。

希望有所帮助。