sql >> Database teknologi >  >> RDS >> Oracle

Oracle -- Importere data til en tabel med et andet navn?

Hvis du bruger de gamle EXP- og IMP-værktøjer, kan du ikke gøre dette. Den eneste mulighed er at importere til en tabel med samme navn (selvom du kan ændre det skema, der ejer tabellen.

Du siger dog, at du er på 11g. Hvorfor ikke bruge DataPump-værktøjet introduceret i 10g, som erstatter Import og Export. For i 11g tilbyder det værktøj REMAP_TABLE-indstillingen, som gør præcis, hvad du vil.

rediger

Efter at have læst kommentarerne, som OP tilføjede til et andet svar, mens jeg skrev dette, tror jeg ikke, at REMAP_TABLE-indstillingen vil fungere i deres tilfælde. Den omdøber kun nye objekter. Hvis der findes en tabel med det oprindelige navn i målskemaet, mislykkes importen med ORA-39151. Undskyld.

rediger bis

Givet den løsning, OP'en til sidst valgte (slip eksisterende tabel, erstat med ny tabel), er der en løsning med Data Pump, som er at bruge TABLE_EXISTS_ACTION={TRUNCATE | REPLACE} klausul. Ved at vælge REPLACE sletter tabellen, mens TRUNCATE blot, øh, afkorter det. I begge tilfælde skal vi bekymre os om referenceintegritetsbegrænsninger, men det er også et problem med den valgte løsning.

Jeg poster dette tillæg ikke for OP, men til gavn for andre søgende, der finder denne side engang i fremtiden.



  1. Hvad vil der ske, hvis jeg dræber en enorm MySQL InnoDb DELETE-forespørgsel?

  2. kommasepareret felt til sammenligning i mysql

  3. Opdatering af database fra Javascript ved at kalde PHP script

  4. PHP Multiple Update-funktionen opdateres ikke og får den første række tom