Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Trying to escape single quotes

Peter77Aug 12 2022

DB and SQL*Plus version : 19c
Newbie question.

In SQL*Plus, I want to print the following either using SELECT or PROMPT
Expected output:
alter session set db_create_file_dest = '+DATA' ;

I tried to escape the single quotes around +DATA as shown below. But, I keep getting "ORA-00911: invalid character" error.
What am I doing wrong ? I just need the above output (shown in Expected output) printed in SQL*Plus. Either using a SELECT or using PROMPT.

select 'alter session set db_create_file_dest = '+DATA' ;' from dual;

select 'alter session set db_create_file_dest = \'+DATA\' ;' from dual ESCAPE '\';

select 'alter session set db_create_file_dest = \'+DATA\' \;' from dual ESCAPE '\';

-- Log of the above three variants.

SQL> select 'alter session set db_create_file_dest = '+DATA' ;' from dual;
select 'alter session set db_create_file_dest = '+DATA' ;' from dual
                                                     *
ERROR at line 1:
ORA-00923: FROM keyword not found where expected


SQL> select 'alter session set db_create_file_dest = \'+DATA\' ;' from dual ESCAPE '\';
select 'alter session set db_create_file_dest = \'+DATA\' ;' from dual ESCAPE '\'
                                                      *
ERROR at line 1:
ORA-00911: invalid character


SQL> select 'alter session set db_create_file_dest = \'+DATA\' \;' from dual ESCAPE '\';
select 'alter session set db_create_file_dest = \'+DATA\' \;' from dual ESCAPE '\'
                                                      *
ERROR at line 1:
ORA-00911: invalid character

I tried escaping + sign too. No luck.

This post has been answered by Frank Kulash on Aug 12 2022
Jump to Answer
Comments
Post Details
Added on Aug 12 2022
3 comments
716 views