Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment détacher une partition d'une table et l'attacher à une autre dans oracle ?

alter table exchange partition 

Est la réponse. Cette commande échange le segment d'une partition avec le segment d'une table. Il est à la vitesse de la lumière car il ne fait que quelques interchages de référence. Vous avez donc besoin de tables temporaires, car autant que je sache, vous ne pouvez pas les échanger directement.

Quelque chose comme :

create table tmp_table(same columns);
Add partition p_2011 in table ARCH_TABLE;

ALTER TABLE CURR_TABLE EXCHANGE PARTITION P_2011 WITH TABLE tmp_table;
ALTER TABLE ARCH_TABLE EXCHANGE PARTITION P_2011 WITH TABLE tmp_table;

Veuillez tester votre code avant de l'exécuter.