Maison >base de données >Oracle >Comment supprimer toutes les tables dans Oracle

Comment supprimer toutes les tables dans Oracle

hzc
hzcoriginal
2020-06-09 11:05:195639parcourir

Comment supprimer toutes les tables dans Oracle

La façon dont Oracle supprime toutes les tables est

1 Désactiver toutes les contraintes de clé étrangère

. Exécutez l'instruction suivante sous développeur pl/sql :


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

Copiez le résultat de la requête et exécutez-le sous développeur pl/sql.

Si vous n'avez pas de développeur pl/sql, vous pouvez l'utiliser dans sqlplus. La méthode est la suivante :
1. Ouvrez sqlplus et connectez-vous avec l'utilisateur correspondant.
2. Définissez une taille de page plus grande, par exemple, définissez la taille de la page 20000
3. Utilisez spool pour importer les résultats correspondants dans le fichier, par exemple

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

4. script généré, mais il y a des instructions redondantes au début et à la fin du fichier de script Ouvrez-le avec un éditeur de texte et supprimez les instructions inutiles

5. Connectez-vous à nouveau à sqlplus avec l'utilisateur correspondant et exécutez la commande suivante

SQL> @/home/oracle/constraint.sql

2. Utilisez delete ou truncate pour supprimer le contenu de toutes les tables

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

ou


SELECT 'TRUNCATE TABLE '|| table_name || ';' FROM USER_TABLES
ORDER BY TABLE_NAME;

Utilisez une méthode similaire pour la première étape. Une chose à noter est que si les données du tableau sont associées à un déclencheur, vous ne pouvez utiliser que l'instruction tronquée. Cependant, l'instruction tronquée ne peut pas être annulée, vous devez donc faire attention à


3. Désactivez l'option Ouvrir la clé étrangère

SELECT 'ALTER TABLE ' || table_name || ' enable CONSTRAINT ' || constraint_name || ';' FROM user_constraints 
where CONSTRAINT_TYPE = 'R';
Tutoriel recommandé : "

Tutoriel Oracle

"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn