在SQL PLus中,如果我想在屏幕上隐藏命令,我会在脚本的开头使用:
SET ECHO OFF
但这个命令怎么样?怎么也隐藏这个?
在MS-Dos中你可以在它前面使用@,但是在SQL * Plus中?
编辑: 我知道SQL * Plus的-S选项,但问题是我将脚本发送到客户端,因此我无法控制它们如何运行SQL * Plus。
答案 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中列出的任何目录。
希望有所帮助。