Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como desvincular uma partição de uma mesa e anexá-la a outra no oracle?

alter table exchange partition 

é a resposta. Este comando troca o segmento de uma partição com o segmento de uma tabela. Está na velocidade da luz porque faz apenas alguns intercâmbios de referência. Então, você precisa de algumas tabelas temporárias, porque AFAIK você não pode trocá-las diretamente.

Algo como:
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;

Por favor, teste teste seu código antes de executar.