What does # mean in sqlplus?

The script used to be


shutdown abort

it has been replaced by


#shutdown abort
shutdown immediate

Let’s try !


SQL> #shutdown abort
ORACLE instance shut down.
SQL> shutdown immediate
ORA-01012: not logged on

sqlplus just silently ignored the # symbol and executed the first statement.

Thanks to Maxim comment, here is a new case to explain the sql prefix #


SQL> sho sqlpre
sqlprefix "#" (hex 23)
SQL> select
  2  #prompt hello world
hello world
  2  * from dual;

D
-
X

While within (or outside of) an sqlplus block, you can tell sqlplus to immediately run a sqlplus statement

The correct syntaxes to put comment are documented in Placing Comments in Scripts


SQL> remark shutdown abort
SQL> rem shutdown abort
SQL> -- shu abort
SQL> /* shutdown abort */

5 thoughts on “What does # mean in sqlplus?”

  1. Nice feature! ;)
    another interesting usage of this “comment”

    SQL> select owner,count(*)
    2 from dba_objects
    3 #shutdown abort
    ORACLE instance shut down.
    3 group by owner;
    select owner,count(*)
    *
    ERROR at line 1:
    ORA-01034: ORACLE not available
    Process ID: 26848
    Session ID: 143 Serial number: 2467

  2. Hi, I tend to use #desc when I am halfway through writing a select but have forgotten a column name. Then I can just carry on with the rest of my select. Very useful.

Leave a Reply

Your email address will not be published.


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>