Tabella di caduta Oracle Tabella Oracle se esiste

Tabella di caduta Oracle Tabella Oracle se esiste

Questo tutorial mira a mostrarti come lavorare con il comando drop table nei database Oracle.

Questo comando rimuove una tabella esistente da un determinato database al cestino o in modo permanente.

Dichiarazione della tabella Drop Oracle

Quanto segue definisce la sintassi del comando tabella Drop:

DROP TABLE SCHEMA_NAME.table_name
[Vincoli a cascata | EPURAZIONE];

Iniziamo chiamando il comando drop table seguito dal nome dello schema in cui risiede la tabella di destinazione. A differenza di altri motori di database, Oracle richiede di specificare lo schema di destinazione.

Altrimenti, Oracle presumerà che desideri rimuovere il tavolo dal tuo schema, che potrebbe non essere l'operazione prevista.

Il prossimo è il nome della tabella che si desidera rimuovere. Ancora una volta, questa deve essere una tabella esistente nello schema specificato. Infine, devi anche avere privilegi sufficienti sulla tabella di destinazione per eseguire un'operazione di caduta.

La seconda parte, che è i vincoli a cascata, dice a Oracle di rimuovere tutti i vincoli di integrità referenziale associati alle chiavi primarie e uniche della tabella.

Se non si specifica questa clausola e la tabella contiene tali vincoli referenziali, Oracle restituisce un errore e non riesce a rimuovere la tabella.

La parola chiave Purge dice a Oracle di rimuovere la tabella dallo schema e di rilasciare lo spazio assegnato. L'opzione di spurgo consente di rimuovere permanentemente la tabella invece di posizionarla nel cestino del riciclo.

ATTENZIONE: Fai attenzione quando si utilizza l'opzione Purge. Questo perché rimuove completamente la possibilità di eseguire un recupero di rollover o tabella dopo l'esecuzione del comando drop. Salta questa opzione se si desidera recuperare la tabella per un uso successivo.

Allo stesso modo, può essere una funzione utile quando è necessario distruggere alcuni database sensibili dal cestino per il riciclo.

Oracle Drop Tabella Esempio Illustrazione

Di seguito sono riportati esempi di utilizzo dell'istruzione tabella di drop nei database Oracle.

Esempio 1: comando tabella di caduta di base

La seguente illustrazione mostra le semplici istruzioni per la tabella che inizializzano una tabella semplice per scopi di illustrazione.

Sentiti libero di saltare questa sezione se hai una tabella target che desideri rimuovere. Altrimenti, procediamo.

Crea un film da tavolo (
Numero Film_id
Generato come identità,
Titolo Varchar (100) non null,
rilascio_year int non null,
Descrizione Varchar (255),
Lingua Varchar (50),
Varchar di valutazione (50),
float IMBD_SCORE,
Rental_rate galleggiante
);

Una volta che abbiamo la tabella di esempio fornita, possiamo lasciarlo cadere come mostrato nella seguente query:

Drop Table Film;

In questo caso, poiché la tabella non contiene alcun vincolo, non è necessario utilizzare la clausola dei vincoli a cascata.

Esempio 2: drop tabella con vincoli

In questo esempio, desideriamo illustrare come rimuovere una tabella con vincoli di chiave primaria ed estera.

Crea Table Studio (
Studio_id Numero chiave primaria,
Studio_Name Varchar2 (50)
);
Crea un film da tavolo (
Film_id Numero chiave primaria,
Titolo Varchar (100) non null,
rilascio_year int non null,
Descrizione Varchar (255),
Lingua Varchar (50),
Varchar di valutazione (50),
float IMBD_SCORE,
Rental_rate galleggiante,
Numero studio_id non null,
Vincolo f_studio straniera chiave (studio_id)
Riferimenti Studio (Studio_ID)
Su Elimina Cascade
);

Se tentiamo di abbandonare la tabella senza rimuovere i vincoli, Oracle restituisce un errore come mostrato:

Drop Table Studio;

Produzione:

[2022-11-14 04:28:33] [72000] [2449] ORA-02449: chiavi uniche/primarie nella tabella a cui si fa riferimento le chiavi esteri

Questo perché l'ID fa riferimento alla chiave principale della tabella Studio.

Pertanto, per rimuovere la tabella Studio, dobbiamo utilizzare la parola chiave dei vincoli a cascata come mostrato nella seguente:

Drop Table Studio Cascade vincoli;

Con ciò, dovresti rimuovere correttamente il tavolo dallo schema.

È bene assicurarsi che gli oggetti referenziati non siano critici. In alcuni casi, a cascata i vincoli può comportare un guasto ai dati sulle tabelle e l'intero database. Usalo attentamente.

Esempio 3: Elimina tabella (modalità di spurgo)

Per rimuovere una tabella senza memorizzarlo nel cestino, possiamo usare la parola chiave di spurgo come illustrato nella seguente illustrazione:

Drop Table Film Purge;

Ciò dovrebbe consentire di rimuovere permanentemente il tavolo e rilasciare lo spazio occupato sul disco.

Esempio 4: Elimina più tabelle

A differenza di altri database ben ponderati come PostgreSQL, MySQL e SQL Server, Oracle non fornisce un modo per rimuovere più tabelle contemporaneamente.

È possibile, tuttavia, utilizzare un blocco SQL per eseguire tale operazione come mostrato nel seguente:

inizio
per me in
(
Seleziona tbl_name
da all_tables
dove table_name come 'pattern'
)
ciclo continuo
Esegui la "tabella di drop" immediata || i.tbl_name || 'Cascade Controints' || 'epurazione';
End Loop;
FINE;

È possibile modificare lo script precedente per rimuovere le tabelle seguendo il modello specificato.

Conclusione

In questo post, abbiamo esplorato i fondamenti del lavoro con il comando di drop table in Oracle. Questo comando consente di rimuovere una tabella esistente da un determinato schema. Hai anche imparato come eliminare un tavolo per riciclare il cestino o rimuoverlo in modo permanente.