Oracle-Drop-Tabelle: Oracle-Drop-Tabelle, falls vorhanden

Oracle Drop Tabelle Oracle Drop Tabelle Falls Vorhanden



Dieses Tutorial soll Ihnen zeigen, wie Sie mit dem DROP TABLE-Befehl in Oracle-Datenbanken arbeiten.

Dieser Befehl entfernt eine vorhandene Tabelle aus einer bestimmten Datenbank entweder in den Papierkorb oder dauerhaft.







Oracle Drop Table-Anweisung

Folgendes definiert die Syntax des DROP TABLE-Befehls:



DROP TABLE Schemaname.Tabellenname
[KASKADENBEDINGUNGEN | SÄUBERN];

Wir beginnen mit dem Aufruf des DROP TABLE-Befehls, gefolgt vom Schemanamen, in dem sich die Zieltabelle befindet. Im Gegensatz zu anderen Datenbank-Engines müssen Sie bei Oracle das Zielschema angeben.



Andernfalls geht Oracle davon aus, dass Sie die Tabelle aus Ihrem Schema entfernen möchten, was möglicherweise nicht Ihre beabsichtigte Operation ist.





Als nächstes folgt der Tabellenname, den Sie entfernen möchten. Auch hier muss es sich um eine vorhandene Tabelle im angegebenen Schema handeln. Schließlich müssen Sie auch über ausreichende Berechtigungen für die Zieltabelle verfügen, um eine Löschoperation auszuführen.

Der zweite Teil, CASCADE CONSTRAINTS, weist Oracle an, alle Einschränkungen der referenziellen Integrität zu entfernen, die mit den Primärschlüsseln und eindeutigen Schlüsseln der Tabelle verbunden sind.



Wenn Sie diese Klausel nicht angeben und die Tabelle solche referenziellen Einschränkungen enthält, gibt Oracle einen Fehler zurück und kann die Tabelle nicht entfernen.

Das Schlüsselwort PURGE weist Oracle an, die Tabelle aus dem Schema zu entfernen und den zugewiesenen Speicherplatz freizugeben. Mit der Option LÖSCHEN können Sie die Tabelle dauerhaft entfernen, anstatt sie in den Papierkorb zu legen.

VORSICHT : Seien Sie vorsichtig, wenn Sie die Option PURGE verwenden. Dies liegt daran, dass die Möglichkeit, einen Rollover oder eine Tabellenwiederherstellung nach der Ausführung des Drop-Befehls durchzuführen, vollständig entfernt wird. Überspringen Sie diese Option, wenn Sie die Tabelle zur späteren Verwendung wiederherstellen möchten.

Ebenso kann es eine hilfreiche Funktion sein, wenn Sie einige sensible Datenbanken aus dem Papierkorb schreddern müssen.

Oracle Drop Table Beispielabbildung

Im Folgenden finden Sie Beispiele für die Verwendung der DROP TABLE-Anweisung in Oracle-Datenbanken.

Beispiel 1: Grundlegender Drop-Table-Befehl

Die folgende Abbildung zeigt die einfachen Tabellenerstellungsanweisungen, die eine einfache Tabelle zu Veranschaulichungszwecken initialisieren.

Sie können diesen Abschnitt gerne überspringen, wenn Sie eine Zieltabelle entfernen möchten. Andernfalls lassen Sie uns fortfahren.

CREATE TABLE-Film (
film_id      ZAHL
GENERIERT ALS IDENTITÄT,
Titel        VARCHAR(100) NOT NULL,
release_year INT NICHT NULL,
Beschreibung VARCHAR(255),
Sprache     VARCHAR(50),
Bewertung       VARCHAR(50),
imbd_score   FLOAT,
rental_rate  FLOAT
);

Sobald wir die bereitgestellte Beispieltabelle haben, können wir sie wie in der folgenden Abfrage gezeigt löschen:

DROP TABLE-Folie;

Da die Tabelle in diesem Fall keine Einschränkungen enthält, brauchen wir die CASCADE CONSTRAINTS-Klausel nicht zu verwenden.

Beispiel 2: Drop-Tabelle mit Einschränkungen

In diesem Beispiel möchten wir veranschaulichen, wie eine Tabelle mit Primär- und Fremdschlüsseleinschränkungen entfernt wird.

CREATE TABLE-Studio (
studio_id  ZAHL PRIMÄRSCHLÜSSEL,
studio_name VARCHAR2(50)
);

CREATE TABLE-Film (
film_id Nummer Primärschlüssel,
Titel        VARCHAR(100) NOT NULL,
release_year INT NICHT NULL,
Beschreibung VARCHAR(255),
Sprache     VARCHAR(50),
Bewertung       VARCHAR(50),
imbd_score   FLOAT,
rental_rate  FLOAT,
studio_id-Nummer nicht null,
CONSTRAINT f_studio FOREIGN KEY(studio_id)
REFERENZEN studio (studio_id)
EIN KASKADE LÖSCHEN

);

Wenn wir versuchen, die Tabelle zu löschen, ohne die Einschränkungen zu entfernen, gibt Oracle einen Fehler wie gezeigt zurück:

DROP TABLE-Studio;

Ausgabe:

[2022-11-14 04:28:33] [72000][2449] ORA-02449: Eindeutige/Primärschlüssel in der Tabelle, auf die durch Fremdschlüssel verwiesen wird

Dies liegt daran, dass die ID auf den Primärschlüssel der Studiotabelle verweist.

Um die Studio-Tabelle zu entfernen, müssen wir daher das Schlüsselwort CASCADE CONSTRAINTS verwenden, wie im Folgenden gezeigt:

Drop-Table-Studio-Cascade-Einschränkungen ;

Damit sollten Sie die Tabelle erfolgreich aus dem Schema entfernen.

Es ist gut sicherzustellen, dass die referenzierten Objekte nicht kritisch sind. In einigen Fällen kann das Kaskadieren der Einschränkungen zu Datenfehlern in den Tabellen und der gesamten Datenbank führen. Verwenden Sie es sorgfältig.

Beispiel 3: Tabelle löschen (Purge-Modus)

Um eine Tabelle zu entfernen, ohne sie im Papierkorb zu speichern, können wir das Schlüsselwort PURGE verwenden, wie in der folgenden Abbildung dargestellt:

Drop-Table-Film-Reinigung;

Dies sollte es Ihnen ermöglichen, die Tabelle dauerhaft zu entfernen und den belegten Speicherplatz wieder auf der Festplatte freizugeben.

Beispiel 4: Mehrere Tabellen löschen

Im Gegensatz zu anderen gut durchdachten Datenbanken wie PostgreSQL, MySQL und SQL Server bietet Oracle keine Möglichkeit, mehrere Tabellen gleichzeitig zu entfernen.

Sie können jedoch einen SQL-Block verwenden, um eine solche Operation auszuführen, wie im Folgenden gezeigt:

Start
denn ich bin dabei
(
Wählen Sie tbl_name
aus all_tables
wo Tabellenname wie 'Muster'
)
Schleife
Führe sofort 'drop table'||i.tbl_name || aus 'Kaskadenbeschränkungen' || 'säubern';
Endschleife;

Ende;

Sie können das vorherige Skript ändern, um die Tabellen nach dem angegebenen Muster zu entfernen.

Fazit

In diesem Beitrag haben wir die Grundlagen der Arbeit mit dem Drop-Table-Befehl in Oracle untersucht. Mit diesem Befehl können Sie eine vorhandene Tabelle aus einem bestimmten Schema entfernen. Sie haben auch gelernt, wie Sie eine Tabelle in den Papierkorb löschen oder dauerhaft entfernen.