Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Dynamically assigned SQL*Plus command prompt
[ Article crossposted from comp.databases.oracle.tools ]
[ Author was XU ]
[ Posted on 10 Mar 1999 18:52:02 GMT ]
From time to time, I always want to have the command prompt of SQL*Plus behave like that in a UNIX login shell - dynamically customized to display the current login username. It is useful to constantly remind a user who he/she is (or poses as), especially when a person logs-in as many different users at the same time (opens many SQL*Plus sessions).
I am proposing the following handy solution:
In the global SQL*Plus login script "glogin.sql", add these lines:
set echo off
set feedback off
set heading off
spool /tmp/userp.sql
select 'set sqlp "'||decode(user, 'SYS', 'SYS# "', 'SYSTEM', 'SYSTEM# "',
user||'> "') from dual;spool off
Save the "glogin.sql" file and start SQL*Plus, and you will get the command prompt "SYS# " when login as SYS, or the prompt "SCOTT> " when login as SCOTT, for example. The "#" is there to remind you of the extra power (and danger) when you login as SYS or SYSTEM (again, mimicking the UNIX login shell prompt). To make it work on NT, just change the file/dir naming convention (i.e. /tmp/userp.sql -> C:\Temp\userp.sql).
Hope the above is useful.
"Robert" Xuequn XU
Caltech
Received on Wed Mar 10 1999 - 12:53:55 CST
![]() |
![]() |