Actually, FAST DUAL might be a red herring. Forcing "normal" DUAL doesn't see to make a difference either.
RegardsCode:SQL> SELECT package_name.get_a, 2 package_name.get_b 3 FROM ( SELECT (CASE 4 WHEN 1 = 1 THEN 5 package_name.set_a_b (1, 2) 6 END) 7 , dummy 8 FROM dual 9 ORDER BY 1); GET_A GET_B ---------- ---------- SQL> SQL> SQL> select * from table( dbms_xplan.display_cursor ); PLAN_TABLE_OUTPUT ------------------------------------------------------------------------------------------- SQL_ID 79rukd61zu5sr, child number 0 ------------------------------------- SELECT package_name.get_a, package_name.get_b FROM ( SELECT (CASE WHEN 1 = 1 THEN package_name.set_a_b (1, 2) END) , dummy FROM dual ORDER BY 1) Plan hash value: 2367845099 --------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | PLAN_TABLE_OUTPUT ------------------------------------------------------------------------------------------- --------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | | | 3 (100)| | | 1 | VIEW | | 1 | | 3 (34)| 00:00:01 | | 2 | TABLE ACCESS FULL| DUAL | 1 | 2 | 2 (0)| 00:00:01 | ---------------------------------------------------------------------------
Adrian




Reply With Quote