Heim  >  Artikel  >  Datenbank  >  So löschen Sie alle Tabellen in Oracle

So löschen Sie alle Tabellen in Oracle

hzc
hzcOriginal
2020-06-09 11:05:195597Durchsuche

So löschen Sie alle Tabellen in Oracle

Die Art und Weise, wie Oracle alle Tabellen löscht, ist

1. Deaktivieren Sie alle Fremdschlüsseleinschränkungen

Führen Sie die folgende Anweisung unter pl/sql Developer aus:

SELECT 'ALTER TABLE ' || table_name || ' disable CONSTRAINT ' || constraint_name || ';' FROM user_constraints
 where CONSTRAINT_TYPE = 'R';

Kopieren Sie das Abfrageergebnis und führen Sie es unter pl/sql Developer aus.
Wenn Sie keinen pl/sql-Entwickler haben, können Sie es in sqlplus ausführen. Die Methode ist wie folgt:
1. Öffnen Sie sqlplus und verbinden Sie sich mit dem entsprechenden Benutzer.
2. Stellen Sie die Seitengröße größer ein, z. B. stellen Sie die Seitengröße auf 20000 ein.
3. Verwenden Sie Spool, um die entsprechenden Ergebnisse in die Datei zu importieren, z Generiertes Skript, aber es gibt redundante Anweisungen am Anfang und Ende der Skriptdatei. Öffnen Sie es mit einem Texteditor und löschen Sie die nutzlosen Anweisungen
5. Melden Sie sich erneut bei sqlplus mit dem entsprechenden Benutzer an und führen Sie den folgenden Befehl aus

SQL> spool /home/oracle/constraint.sql
SQL> SELECT 'ALTER TABLE ' || table_name || ' disable CONSTRAINT ' || constraint_name || ';' FROM user_constraints 
where CONSTRAINT_TYPE = 'R';
SQL> spool off


2. Verwenden Sie „Löschen“ oder „Truncate“, um den Inhalt aller Tabellen zu löschen.

SQL> @/home/oracle/constraint.sql
oder

SELECT 'DELETE FROM '|| table_name || ';' FROM USER_TABLES
ORDER BY TABLE_NAME;

Verwenden Sie eine ähnliche Methode wie der erste Schritt. Beachten Sie, dass Sie nur die Truncate-Anweisung verwenden können, wenn die Daten in der Tabelle mit einem Trigger verknüpft sind. Die Truncate-Anweisung kann jedoch nicht zurückgesetzt werden. Sie sollten daher darauf achten, wann


3. Deaktivieren Sie den Fremdschlüssel öffnen

SELECT 'TRUNCATE TABLE '|| table_name || ';' FROM USER_TABLES
ORDER BY TABLE_NAME;
Empfohlenes Tutorial: „Oracle Tutorial

Das obige ist der detaillierte Inhalt vonSo löschen Sie alle Tabellen in Oracle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn