we are using Oracle 11g precompiler and we start using "common_parser=yes" option because of JOIN keyword, but now WITH HOLD in DECLARE CURSOR statements is not supported.
So, the statement :
EXEC SQL DECLARE cur_name CURSOR WITH HOLD FOR SELECTc1, c2 FROM t1
gives an error when "common_parser=yes" is present
PCC-S-02201, Fand das Symbol "WITH" als eines der folgenden erwartet wurde:
and when is not, we can compile this statement but we get the same error for JOIN (and we dont wont to rewrite JOIN statemnts to old syntax with +).
Is this a bug and is there a workaround or solution for this problem?
Thanks in advance,
We also noticed the same problem for LOB statements:
EXEC SQL LOB WRITE ONE :lob FROM :buffer WITH LENGTH :bufferlen ...
Again, WITH is not recognised
Edited by: 976549 on 13.12.2012 02:20
I don't have much information I can provide but this looks like an unpublished bug: Bug 8436316 - PARSER UNIFICATION: CURSOR WITH HOLD IS NOT SUPPORTED
The best I can say at this time is if you have a support contract to open a Service Request with My Oracle Support for any alternatives.
I know that is not much help but it does seem like this is a known bug (but no workaround that I have seen).