Hi, We have a weird problem. we have a table in oracle 8i called "test" and when i try to query the said table using a select statement given below, select * from test start with parent is null connect by prior child = parent; we get the result set just fine. We are migrating from oracle 8i to 10g. We created the same table test in 10g and tried to query the table using the same select statement. we got the result set just fine. Now, the problem here is the order in which the result set is selected from the table varies. For examples sake,i will make it simple, lets say there are 3 rows in the table. In 8i the result set goes in the order, /COLUMN_NAME/ --------------- /ROW 1/ /ROW 2/ /ROW 3/ but in 10g the result set goes in the order, /COLUMN_NAME/ --------------- /ROW 2/ /ROW 3/ /ROW 1/ for better understanding i limited the example to 3 rows. There are 1507 rows in the table. We need oracle 10g to select the result set in the same order as it does in 8i since we are fetching the rows and performing a certain function in c++ which demands the sequence of the data should be strictly the same as in 8i. QUestions: 1.what does "start with connect by prior" exactly does? 2.Is this problem because of the version difference? 3.What is the solution?