Problem occurs in PL/SQL Developer (Version 11.0.0.1762) running on Windows 7 (64-bit) 6.1 Build 7601 (Service Pack 1).
Test case:
CREATE OR REPLACE PACKAGE test_string_literals as
procedure test;
end test_string_literals;
/
CREATE OR REPLACE PACKAGE BODY test_string_literals as
procedure test
is
dummy varchar2(200);
begin
dummy := q'#'foo#'||q'#'bar'#';
end;
end test_string_literals;
/
With code presented above:
- In Command Window parsing error is visible in line 14th (wrong colors used).
- After running script and opening Program window with package body:
- The same problem occurs in 7th line of body.
- Code contents is not visible.
The problem is caused by apostrophes immediately preceding or succeeding quotation marks in conjunction with concatenation. It works as desired if quote delimiter would be some kind of parenthesis.
Lukasz