Oracle Drop Table se esiste

Oracle Drop Table 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, 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: fare attenzione quando si utilizza l'opzione Purge. Rimuove completamente la possibilità di eseguire un recupero di rollover o tabella dopo l'esecuzione del comando drop. Pertanto, salta questa opzione se si desidera recuperare la tabella per un uso successivo. Tuttavia, può essere una funzionalità utile quando è necessario distruggere i 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 di base della tabella Drop Oracle

Di seguito mostra le semplici istruzioni di Crea 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, procedere al passaggio del procedimento.

Film createtable (
Numero Film_id
GeneratedAsIdentity,
Titolo Varchar (100) NotNull,
rilascio_year intnotnull,
Descrizione Varchar (255),
LanguageVarchar (50),
Varchar di valutazione (50),
float IMBD_SCORE,
Rental_rate galleggiante
);

Una volta che abbiamo la tabella di esempio data, 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: tabella della tabella Oracle con vincoli

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

CreateTable Studio (
Studio_id Numero chiave primaria,
Studio_Name Varchar2 (50)
);
Film createtable (
Film_id Numero chiave primaria,
Titolo Varchar (100) NotNull,
rilascio_year intnotnull,
Descrizione Varchar (255),
LanguageVarchar (50),
Varchar di valutazione (50),
float IMBD_SCORE,
Rental_rate galleggiante,
Studio_id NumberNotnull,
VINCLING F_Studio ForeignKey (Studio_ID)
Riferimenti Studio (Studio_ID)
Ondelecascade
);

Se tentiamo di abbandonare la tabella senza rimuovere i vincoli, OrcaleReturns 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 nell'esempio 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, i vincoli a cascata possono portare a guasti ai dati nelle tabelle e all'intero database. Usalo attentamente.

Esempio 3: Oracle Elimina Tabella (modalità di spurgo)

Per rimuovere una tabella senza archiviarla nel cestino, possiamo usare la parola chiave di spurgo come illustrato nel seguente esempio:

Drop Table Film Purge;

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

Esempio 4: Oracle Elimina più tabelle

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

È possibile, tuttavia, utilizzare un blocco SQL per eseguire un'operazione come segue:

INIZIO
Per me in
(
Seleziona tbl_name
Da all_tables
Dove table_name come'pattern '
)
CICLO CONTINUO
ExecuteMemediate'Drop Table '|| i.tbl_name || 'Cascade Controints' || 'epurazione';
endloop;
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. Speriamo che tu abbia trovato questo articolo utile!