Partie I
SQL de base
34
© Éditions Eyrolles
q
TEMPORARY : pour supprimer des tables temporaires. Les transactions en cours ne sont pas
affectées. L’utilisation de TEMPORARY peut être un bon moyen de s’assurer qu’on ne
détruit pas accidentellement une table non temporaire…
q
IF EXISTS : permet d’éviter qu’une erreur se produise si la table n’existe pas.
q
RESTRICT et CASCADE ne sont pas encore opérationnels. Le premier permettra de vérifier qu’aucun autre élément n’utilise la table (vue, déclencheur, etc.). Le second répercutera la destruction à tous les éléments référencés.
Les éléments qui utilisaient la table (vues, synonymes, fonctions et procédures) ne sont pas
supprimés mais sont temporairement inopérants. Attention, une suppression ne peut pas être
par la suite annulée.
Ordre des suppressions
Il suffit de relire à l’envers le script de création de vos tables pour en déduire l’ordre de suppression à écrire dans le script de destruction de votre schéma.
Le tableau suivant présente deux écritures possibles pour détruire des schémas. La première
écriture n’est pas encore possible et il reste à voir comment, d’un point de vue des performances, MySQL programmera le CASCADE.
Tableau 1-11 Scripts équivalents de destruction
Avec CASCADE (pas encore opérationnel)
Les « fils » puis les « pères »
DROP TABLE Compagnie CASCADE;
DROP TABLE Pilote;
DROP TABLE Pilote;
DROP TABLE Compagnie;
Précédent

- 56/418

Suivant