On Jun 30, 2005, at 7:21 AM, Ajay wrote:
Yaa that's what I wanted to do , So what do you think what could be the
solution for this ?
well, as others have suggested, there is no solution for it. Or, at
least no solution that you should bother with. The purpose of the
database is not to store the data in some particular view (order,
collation, grouping, etc.) that you might want to view it later in.
That is the reason the db provides methods to generate the views the
way you want them. The only imposition is that the db might sort them
internally by the PK, but that is also irrelevant -- the PK may not
always be numerical (as in the case of a GUID), hence, you could get
any old thing.
In short, don't bother trying to insert the data in a particular order,
because that is not what the db is designed for. Once you have the data
in the db, then use the power of the db to morph the data into whatever
views your heart desires.
-----Original Message-----
From: Steve O'Hara [mailto:[EMAIL PROTECTED]
Sent: Thursday, June 30, 2005 5:28 PM
To: sqlite-users@sqlite.org
Subject: RE: [sqlite] Insert all rows from old table into new table
but in
sorted order
I might be wrong, but if you don't specify a sort column, you will get
the
rows out in PRIMARY KEY order, irrespective of how you loaded the data.
Therefore, you will need to do something a little more interesting
with your
loading statement to perhaps exclude the primary key and let the insert
re-generate them.
Just a thought.
Steve
-----Original Message-----
From:
[EMAIL PROTECTED]
[mailto:sqlite-users-return-6291-sohara=pivotal-
[EMAIL PROTECTED]
rg]On Behalf Of Paul Smith
Sent: 30 June 2005 12:23
To: sqlite-users@sqlite.org
Subject: Re: [sqlite] Insert all rows from old table into new table but
in sorted order
I can insert all rows of existing table into new table having same
columns
using query :
Insert into NEWTABLE select * from OLDTABLE
But I want all rows of NEWTABLE sorted by field No,
So I used query
Insert into NEWTABLE select * from OLDTABLE order by no desc
But it is not giving me sorted output as new table?
Can you tell me where I am wrong ???
You can't do that.
The 'Insert' may (I'm not sure..) insert the data into 'NEWTABLE' in
the
"right order" , but then, when you do an unordered query on
'NEWTABLE', the
results are returned in an undefined order - not necessarily in the
order
they were inserted into the table
You should do the sorting when you read 'NEWTABLE'
So, instead of
Insert into NEWTABLE select * from OLDTABLE order by no desc
select * from NEWTABLE
do
Insert into NEWTABLE select * from OLDTABLE
select * from NEWTABLE order by no desc
Paul VPOP3 - Internet Email Server/Gateway
[EMAIL PROTECTED] http://www.pscs.co.uk/
--
Puneet Kishor