I don't know, but maybe this is a bug, I can't use function tables PIPED, I use function that returns a cursor and works fine. ----- Original Message ----- From: Igor Neyman To: oracle-l@xxxxxxxxxxxxx Sent: Wednesday, March 10, 2004 10:02 AM Subject: Parsing order (Was: "select ... connect by..." in the view) Ok, I see no takers on my original question (how to create a view based on "select . connect by. and prior. start with." to get the hierarchy). May be this will spark some interest, I guess it's about parsing order. The view I'm using looks like this: SQL*Plus: Release 9.2.0.1.0 - Production on Wed Mar 10 08:42:51 2004 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Connected to: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.1.0 - Production SQL> create or replace view test_view_ms as 2 SELECT 3 vt.model_id, vt.lvl "LEVEL", vt.parent_subassembly_id, vt.subassembly_id 4 FROM test_ms tm, TABLE(m_tree(tm.model_id)) vt; View created. And it works fine; "m_tree" is a function that hides "select . connect by. and prior. start with.". "test_ms" table added to the join in order to be able to specify "model_id" when querying this view. But, if I change the order in the "FROM" list, I get an error: SQL> create or replace view test_view_ms as 2 SELECT 3 vt.model_id, vt.lvl "LEVEL", vt.parent_subassembly_id, vt.subassembly_id 4 FROM TABLE(m_tree(tm.model_id)) vt, test_ms tm; FROM TABLE(m_tree(tm.model_id)) vt, test_ms tm * ERROR at line 4: ORA-00904: "TM"."MODEL_ID": invalid identifier Is it because of the way (order) Oracle is parsing this view? Igor Neyman, OCP DBA ineyman@xxxxxxxxxxxxxx -----Original Message----- From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Igor Neyman Sent: Thursday, February 26, 2004 11:44 AM To: oracle-l@xxxxxxxxxxxxx Subject: "select ... connect by..." in the view Just wonder if anyone has (or came across) better solution for this. I had a request from developer to put "select . connect by." into view. He wants to get the hierarchy in one step, but the "framework" he is using doesn't allow him to issue "select . connect by.". I've got rather ugly solution for him (which I can share if anyone interested, didn't want this message to be long), using user types, function, and the final view looks like this: create or replace view test_view_ms as SELECT vt.model_id, vt.lvl "LEVEL", vt.parent_subassembly_id, vt.subassembly_id FROM test_ms tm, TABLE(m_tree(tm.model_id)) vt; So, now he can get the hierarchy for specified model with just: select from test_view_ms where model_id = . Igor Neyman, OCP DBA ineyman@xxxxxxxxxxxxxx