Fourat Zouari wrote:
Hello all,
Any one could suggest the best way to copy data from table to table in
the same db, the reason why am seeking for this is that the first table
is becoming very big, and old data has no reason why to stay there, so i
created a cloned table but without indexes and constraints (lighter) and
now i would like to copy 'some' data from first to second table (copied
data is data older than 3 months, i have a timestamp column).
In other way, i have a table called 'hotqueues' where i store fresh
messages queued, once messages are treated, they stay in 'hotqueues' but
with a flag indicating that their arent queued for treatment..
so in this way, data will rest there forever, slowing down any searches
in that table, the solution was to copy old messages to another table
called 'coldqueues' that has the same structure as 'hotqueues' but
lighter (without constraints and indexes).
How to copy these data with 100% data-loose free.
Thanks for any help you can provide.
If you just want to copy the data across to the other table:
begin;
insert into table2 select * from table1 where <some criteria>;
commit;
if you also want to remove that same data from table1:
begin;
insert into table2 select * from table1 where <some criteria>;
delete from table1 where <same criteria as above>;
commit;