什么相当于clrscr();在Oracle SQL中?

时间:2014-12-20 14:56:20

标签: sql oracle sqlplus

我想编写一个简单的脚本文件来显示给定部门名称中的员工姓名,给出的部门名称不区分大小写,执行脚本后,命令不会显示。

我使用SQL * PLUS,到目前为止我做的是

EDIT script // script is the file name the default extension is .SQL

并在脚本文件中写了以下内容

SET VERIFY OFF

SELECT Ename, dname
FROM   emp, dept
WHERE emp.deptno = dept.deptno
AND UPPER(Dname) = UPPER('&dname');

SET VERIFY ON

然后在SQL * Plus上

START script

查询工作正常,但我不知道如何执行此部分"执行脚本后,命令不会显示。 "

1 个答案:

答案 0 :(得分:3)

也许你在寻找:

SET ECHO OFF

另一个选项是在命令行上使用-S(静默)选项启动 SQL * Plus 。来自the documentation

  

<强> -S [ILENT]

     

禁止显示所有SQL Plus信息和提示消息,包括命令提示符,命令回显以及启动SQL Plus时通常显示的横幅。


关于标题为的问题:

  

什么是clrscr()

的等价物

如果您使用的是ANSI终端,请使用ANSI escape sequence esc [2J清除您的屏幕:

SET ECHO OFF
SET SERVEROUTPUT ON
VAR ANSI_TERM_CLEAR VARCHAR2 (10)
BEGIN SELECT CHR(27)||'[2J' INTO :ANSI_TERM_CLEAR FROM DUAL; END;
/
PRINT :ANSI_TERM_CLEAR