This site is currently read-only as we are migrating to Oracle Forums for an improved community experience. You will not be able to initiate activity until January 31st, when you will be able to use this site as normal.

    Forum Stats

  • 3,890,575 Users
  • 2,269,776 Discussions
  • 7,916,824 Comments

Discussions

Change command delimiter?

srg
srg Member Posts: 21 Blue Ribbon
edited Jun 8, 2016 9:32AM in SQLcl

Has anyone else noticed the following behavior of the change command? Also, it appears as though the "/' entered on a line by itself does not only execute the contents of the buffer in the case of inputting a PLSQL block, but also appends the "/' character to the last line of the buffer....

SQLcl V4.2.0.16.131.1023

SQL> begin select * from dual; end;

  2  /

Error starting at line : 1 in command -

begin select * from dual; end;/

Error report -

ORA-06550: line 1, column 31:

PLS-00103: Encountered the symbol "/" The symbol "/" was ignored.

06550. 00000 -  "line %s, column %s:\n%s"

*Cause:    Usually a PL/SQL compilation error.

*Action:

SQL> l

  1* begin select * from dual; end;/

SQL> c.;/..


Error starting at line : 1 in command -

c.;/..

Error report -

Unknown Command

SQL> c!;/!!

Error starting at line : 1 in command -

c!;/!!

Error report -

Unknown Command

SQL> c/;/./

  1* begin select * from dual. end;/

SQL>

So it looks like the only acceptable delimiter is "/" though the SQL*Plus definition of the change command is:

C[HANGE] sepcharold [sepchar [new [sepchar]]]
Changes the first occurrence of the specified text on the current line in the buffer. The buffer has no command history list and does not record SQL*Plus commands.
Terms
sepchar
Represents any non-alphanumeric character such as "/" or "!". Use a sepchar that does not appear in old or new.

Thanks,

srg

Best Answer

Answers