> > You can't do that.

> > The 'Insert' may (I'm not sure..) insert the data into 'NEWTABLE' in the

> you misinterpreted my problem,
> I want to add all rows of old table into new table but with sorted order
> I don't want to fire another query (select * from newtable order by desc no
> ) to give sorted rows, I want to insert all rows in sorted order into new
> table.

As the original responder said "You can't do that".  The records may or may not 
be inserted into the target table in the physical
order you specified on the insert query.  The physical order in the target 
table depends on how the SQL engine decides to write
them.

The order in which rows are returned from a query that doesn't specify order is 
undefined, meaning they may be in the order they are
in the table, or some other order that is the result of the SQL engine's 
optimization.

In other SQL engine's, you can force the physical order of the rows by using 
what MS SQL Server calls a "clustered" index, which
isn't really an index at all, but rather a physical ordering of the rows in a 
table.  I haven't seen anything about SQLite
supporting clustered indexes, but you might check the www.sqlite.org website to 
see if it does or if there are any plans to include
it in the future.

Reply via email to