Wie kann ich alle Benutzertabellen in Oracle ablegen?
Ich habe Probleme mit Einschränkungen. Wenn ich alles deaktiviere, ist es immer noch nicht möglich.
oracle
constraints
sql-drop
Szaman
quelle
quelle
Antworten:
quelle
Wenn Sie nur einen wirklich einfachen Weg wollen, dies zu tun. Hier ist ein Skript, das ich in der Vergangenheit verwendet habe
Dadurch wird eine Reihe von Drop-Befehlen für alle Tabellen im Schema ausgedruckt. Spoolen Sie das Ergebnis dieser Abfrage und führen Sie es aus.
Quelle: https://forums.oracle.com/forums/thread.jspa?threadID=614090
Wenn Sie mehr als nur Tabellen löschen möchten, können Sie Folgendes entsprechend Ihren Anforderungen bearbeiten
quelle
Eine andere Antwort, die für mich funktioniert hat, ist (Dank an http://snipt.net/Fotinakis/drop-all-tables-and-constraints-within-an-oracle-schema/ )
Beachten Sie, dass dies sofort nach dem Ausführen funktioniert . Es wird KEIN Skript erstellt, das Sie irgendwo einfügen müssen (wie andere Antworten hier). Es läuft direkt in der DB.
quelle
'DROP TABLE "' || c.table_name || '" CASCADE CONSTRAINTS'
. Dies ist erforderlich, wenn die Tabellennamen in Kleinbuchstaben geschrieben sind.PURGE
am Ende derDROP
Erklärung hinzufügen .quelle
Am einfachsten ist es, den Benutzer, dem die Objekte gehören, mit dem Befehl cascade zu löschen.
quelle
USER
ist a getrennt von aDATABASE
.DROP USER username CASCADE
arbeitete für mich. Aber in MySQL müsste ich nurDROP DATABASE
ein neues erstellenDer einfachste Weg wäre, den Tablespace zu löschen und dann den Tablespace wieder aufzubauen. Aber das müsste ich lieber nicht tun. Dies ist ähnlich wie bei Henry, außer dass ich nur die Ergebnismenge in meiner GUI kopiere / einfüge.
quelle
user_tables
ist eine Systemtabelle, die alle Tabellen des Benutzers enthält. Die SELECT-Klausel generiert eine DROP-Anweisung für jede Tabelle, in der Sie das Skript ausführen könnenquelle
So entfernen Sie alle Objekte im Orakel:
1) Dynamisch
2) Statisch
quelle
Bitte befolgen Sie die folgenden Schritte.
quelle