Explanation
I consider this in this case as a bug. The message is misleading as the it is parser internally (SQL+) not properly set quotes. Indirectly, it is a correct message because of the shortcomings of the parser, the end of the statement gets identified incorrectly.
The problem probably arises because the parser cannot handle quoted strings that contain either
- lines containing the semi-colon as last character like
--SQL insert into STATEMENTS_COLLECTION (STATEMENTS) values (q'select * from DUAL; delete from DUAL where 1 = 0;' - empty lines, including lines only containing white space characters, though the latter has been tested only with space characters
Solution
- style="text-align: left;">
- Switch off the terminator
-- SQL -- prevent ORA-01756 set sqlterminator off /* do your magic statement here */ / set sqlterminator on - Allow blank lines
-- SQL -- prevent ORA-01756 set sqlblanklines on /* do your magic statement here */ / set sqlblanklines off


