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

Comment supprimer toutes les tables dans Oracle

hzc
Libérer: 2020-06-09 11:05:19
original
5636 Les gens l'ont consulté

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';
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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;
Copier après la connexion

ou


SELECT 'TRUNCATE TABLE '|| table_name || ';' FROM USER_TABLES
ORDER BY TABLE_NAME;
Copier après la connexion

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 &#39;ALTER TABLE &#39; || table_name || &#39; enable CONSTRAINT &#39; || constraint_name || &#39;;&#39; FROM user_constraints 
where CONSTRAINT_TYPE = &#39;R&#39;;
Copier après la connexion
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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal