更改Sql*plus的提示符

来源:互联网 发布:注册域名能干什么 编辑:程序博客网 时间:2024/06/06 11:31

正常登陆sql*plus的步骤如下:

sbdatabase*orcl-/home/oracle>sqlplus /nologSQL*Plus: Release 10.2.0.3.0 - Production on Sun May 9 19:50:24 2010Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.SQL> conn hmsimis/test@orclConnected.

可以看到前面的提示符是SQL,现在想修改提示的内容,该怎么办?在oracle10g中已经为我们提供了几个预先定义的变量可以让我们用来显示,比如下面这样:

SQL> defineDEFINE _DATE           = "09-MAY-10" (CHAR)DEFINE _CONNECT_IDENTIFIER = "orcl" (CHAR)DEFINE _USER           = "HMSIMIS" (CHAR)DEFINE _PRIVILEGE      = "" (CHAR)DEFINE _SQLPLUS_RELEASE = "1002000300" (CHAR)DEFINE _EDITOR         = "vi" (CHAR)DEFINE _O_VERSION      = "Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit ProductionWith the Partitioning, OLAP and Data Mining options" (CHAR)DEFINE _O_RELEASE      = "1002000300" (CHAR)SQL>

通过set sqlprompt 命令,可以修改现实的内容, 比如像下面这样:

SQL> set sqlprompt '_USER _DATE > 'HMSIMIS 09-MAY-10 >

这里使用了两个oracle已经定义的变量来定义显示的内容,可以看到目的已经到,如果oracle找不到在defined中定义的则原样输出,比如“>”原样输出了。

如果我们想显示的内容在以上define中没有定义怎么办?还是有办法的,通过构造我们的信息让其显示,比如下面这样:

HMSIMIS 09-MAY-10 > column session_info new_value sql_prompt HMSIMIS 09-MAY-10 > select '('||SID||','||serial#||','||')' session_info  from v$session where username='HMSIMIS' and status='ACTIVE';SESSION_INFO------------------------------------------------------------------------------------(957,6312,)HMSIMIS 09-MAY-10 > set sqlprompt 'sql_prompt >';(957,6312,) >

这样一来想显示任何东西都不成问题了,是不是很有意思!

原创粉丝点击