How to inhibit that subquery merging behavior 2004-07-16 - By Jonathan Gennick
Wolfgang,
I can reproduce the error:
SQL > SELECT *
2 FROM ( SELECT flag, TO_NUMBER(num) num
3 FROM subtest
4 WHERE flag IN ( 'A ', 'C ') )
5 WHERE num > 0;
ERROR:
ORA-01722 (See ORA-01722.ora-code.com): invalid number
However, I can 't find a hint that will prevent the merging
of the subquery. I 've tried Tanel 's suggestions:
SQL > SELECT /*+ NO_MERGE(sub) NO_PUSH_PRED(sub) PUSH_SUBQ(sub) */ *
2 FROM ( SELECT flag, TO_NUMBER(num) num
3 FROM subtest
4 WHERE flag IN ( 'A ', 'C ') ) sub
5 WHERE num > 0;
ERROR:
ORA-01722 (See ORA-01722.ora-code.com): invalid number
I 've also tried putting the hints into the subquery:
SQL > SELECT *
2 FROM ( SELECT /*+ NO_MERGE NO_PUSH_PRED PUSH_SUBQ */
3 flag, TO_NUMBER(num) num
4 FROM subtest
5 WHERE flag IN ( 'A ', 'C ') ) sub
6 WHERE num > 0;
ERROR:
ORA-01722 (See ORA-01722.ora-code.com): invalid number
Is there a hint that will prevent the queries from being
merged?
Best regards,
Jonathan Gennick --- Brighten the corner where you are
http://Gennick.com * 906.387.1698 * mailto:jonathan@(protected)
Join the Oracle-article list and receive one
article on Oracle technologies per month by
email. To join, visit http://five.pairlist.net/mailman/listinfo/oracle-article,
or send email to Oracle-article-request@(protected) and
include the word "subscribe " in either the subject or body.
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------
To unsubscribe send email to: oracle-l-request@(protected)
put 'unsubscribe ' in the subject line.
--
Archives are at http://www.freelists.org/archives/oracle-l/
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- --
|
|