Table de chute d'Oracle si existe

Table de chute d'Oracle si existe
Ce tutoriel vise à vous montrer comment travailler avec la commande de table Drop Table dans les bases de données Oracle. Cette commande supprime un tableau existant d'une base de données donnée soit au bac de recyclage, soit en permanence.

Énoncé de table Oracle Drop Table

Le suivant définit la syntaxe de la commande Drop Table:

Schéma de table de dépôt_.nom de la table
[Contraintes en cascade | PURGE];

Nous commençons par appeler la commande de table de dépôt suivie du nom du schéma dans lequel réside la table cible. Contrairement à d'autres moteurs de base de données, Oracle vous oblige à spécifier le schéma cible. Sinon, Oracle supposera que vous souhaitez retirer la table de votre schéma, qui pourrait ne pas être votre opération prévue.

Ensuite, c'est le nom de la table que vous souhaitez supprimer. Encore une fois, ce doit être un tableau existant dans le schéma spécifié. Enfin, vous devez également avoir suffisamment de privilèges sur la table cible pour exécuter une opération de dépôt.

La deuxième partie, Cascade Contraintes, indique à Oracle de supprimer toutes les contraintes d'intégrité référentielles associées aux clés primaires et uniques du tableau.

Si vous ne spécifiez pas cette clause et que le tableau contient de telles contraintes référentielles, Oracle renvoie une erreur et ne supprime pas le tableau.

Le mot-clé Purge dit à Oracle de supprimer le tableau du schéma et de libérer l'espace alloué. L'option Purge vous permet de retirer en permanence la table au lieu de la placer dans le bac de recyclage.

ATTENTION: Soyez prudent lorsque vous utilisez l'option Purge. Il supprime complètement la possibilité d'effectuer un roulement ou une récupération de table après avoir exécuté la commande Drop. Par conséquent, sautez cette option si vous souhaitez récupérer le tableau pour une utilisation ultérieure. Cependant, cela peut être une caractéristique utile lorsque vous devez déchiqueter les bases de données sensibles de la corbeille.

Exemple d'illustration de la table Oracle Drop Exemple

Voici des exemples d'utilisation de l'instruction TABLE DROP dans les bases de données Oracle:

Exemple 1: commande de base de la table Oracle Drop

Ce qui suit montre les instructions de table Créer simple qui initialisent une table simple à des fins d'illustration.

N'hésitez pas à ignorer cette section si vous avez une table cible que vous souhaitez supprimer. Sinon, passez à l'étape de procédure.

Film créatif (
Numéro Film_id
Généré comme identité,
titre varchar (100) notnull,
release_year intnotnull,
Description Varchar (255),
LanguageVarchar (50),
Note Varchar (50),
IMBD_SCORE FLOT,
Rental_rate Float
));

Une fois que nous avons le tableau d'échantillonnage donné, nous pouvons le laisser tomber comme indiqué dans la requête suivante:

Film de table de dépôt;

Dans ce cas, comme le tableau ne contient aucune contrainte, nous n'avons pas besoin d'utiliser la clause de contraintes en cascade.

Exemple 2: Table de dépôt de table Oracle avec contraintes

Dans cet exemple, nous souhaitons illustrer comment supprimer un tableau avec des contraintes de clé primaire et étrangère.

Studio CreateTable (
Clé primaire du numéro Studio_ID,
Studio_Name Varchar2 (50)
));
Film créatif (
Clé primaire du numéro Film_id,
titre varchar (100) notnull,
release_year intnotnull,
Description Varchar (255),
LanguageVarchar (50),
Note Varchar (50),
IMBD_SCORE FLOT,
Rental_rate Float,
studio_id numbernotnull,
CONSTRAINT F_STUDIO FITROMKEY (Studio_ID)
Références Studio (Studio_ID)
Ondeletecascade
));

Si nous essayons de supprimer le tableau sans retirer les contraintes, OrcalereTturns une erreur comme indiqué:

Drop Table Studio;

Sortir:

[2022-11-14 04:28:33] [72000] [2449] ORA-02449: Clés uniques / primaires dans le tableau référencées par des clés étrangères

En effet, l'ID fait référence à la clé principale du tableau de studio.

Par conséquent, pour supprimer la table du studio, nous devons utiliser le mot-clé Cascade Contraintes comme indiqué dans l'exemple suivant:

Drop Table Studio Cascade Contraintes;

Avec cela, vous devez supprimer avec succès la table du schéma.

Il est bon de s'assurer que les objets référencés ne sont pas critiques. Dans certains cas, les contraintes en cascade peuvent entraîner une défaillance des données sur les tables et la base de données entière. Utilisez-le soigneusement.

Exemple 3: Tableau de suppression d'Oracle (mode Purge)

Pour supprimer une table sans le stocker dans le bac de recyclage, nous pouvons utiliser le mot-clé Purge comme illustré dans l'exemple suivant:

Purge de film de table de table;

Cela devrait vous permettre de retirer en permanence la table et de relâcher l'espace occupé vers le disque.

Exemple 4: Oracle supprime plusieurs tables

Contrairement à d'autres bases de données bien pensées telles que PostgreSQL, MySQL et SQL Server, Oracle ne fournit pas de moyen de supprimer les multiples tables à la fois.

Vous pouvez cependant utiliser un bloc SQL pour effectuer une telle opération comme suit:

COMMENCER
Pour moi dans
(
Sélectionnez TBL_NAME
De All_Tables
Où table_name like'pattern '
)
BOUCLE
EXECUTEIMMEDIADE'DROP TABLE '|| I.tbl_name || 'Cascade Contraintes' || 'purge';
endloop;
FIN;

Vous pouvez modifier le script précédent pour supprimer les tables suivant le modèle spécifié.

Conclusion

Dans cet article, nous avons exploré les principes fondamentaux du travail avec la commande de table Drop Table dans Oracle. Cette commande vous permet de supprimer un tableau existant d'un schéma donné. Vous avez également appris à supprimer une table pour recycler la bac ou la supprimer en permanence. Nous espérons que vous avez trouvé cet article utile!