© Éditions Eyrolles
189
chapitre n° 5
Contrôle des données
Les transformations peuvent concerner toutes les parties d’une vue existante : la politique de
création (ALGORITHM), la liste des colonnes, la requête, etc. Voir la section Création d’une vue.
Visualisation d’une vue (SHOW CREATE VIEW)
Pour pouvoir visualiser la requête de définition d’une vue, l’instruction que MySQL propose
est la suivante :
SHOW CREATE VIEW [nomBase.]nomVue;
En arrangeant l’état de sortie, vous pouvez découvrir comment MySQL stocke la définition de
la vue précédemment créée :
SHOW CREATE VIEW VueDesCompagniesJoursFeries;
+-----------------------------+-----------------------------------------------+
| View
| Create View
|
+-----------------------------+-----------------------------------------------+
| VueDesCompagniesJoursFeries | CREATE ALGORITHM=UNDEFINED
|
|
| DEFINER=`root`@`localhost` SQL SECURITY
|
|
| DEFINER VIEW `VueDesCompagniesJoursFeries` AS |
|
| select sql_no_cache `Compagnie`.`comp` AS
|
|
| `comp`,`Compagnie`.`nrue` AS
|
|
| `nrue`,`Compagnie`.`rue` AS
|
|
| `rue`,`Compagnie`.`ville` AS
|
|
| `ville`,`Compagnie`.`nomComp` AS `nomComp`
|
|
| from `Compagnie` where
|
|
| (date_format(sysdate(),_latin1'%W') in
|
|
| (_latin1'Sunday',_latin1'Saturday'))
|
+-----------------------------+-----------------------------------------------+
Suppression d’une vue (DROP VIEW)
Vous devez posséder le privilège DROP sur une vue pour pouvoir la supprimer.
La suppression d’une vue n’entraîne pas la destruction des données qui résident toujours dans
les tables.
La syntaxe SQL est la suivante :
DROP VIEW [IF EXISTS]
[nomBase.]nomVue [,nomBase2.]nomVue2...
[RESTRICT | CASCADE];
q
IF EXISTS évite une erreur dans le cas où la vue n’existe pas.
q
RESTRICT et CASCADE ne sont pas encore opérationnels, il concerneront probablement la
répercussion de la suppression entre vues interdépendantes.
189
chapitre n° 5
Contrôle des données
Les transformations peuvent concerner toutes les parties d’une vue existante : la politique de
création (ALGORITHM), la liste des colonnes, la requête, etc. Voir la section Création d’une vue.
Visualisation d’une vue (SHOW CREATE VIEW)
Pour pouvoir visualiser la requête de définition d’une vue, l’instruction que MySQL propose
est la suivante :
SHOW CREATE VIEW [nomBase.]nomVue;
En arrangeant l’état de sortie, vous pouvez découvrir comment MySQL stocke la définition de
la vue précédemment créée :
SHOW CREATE VIEW VueDesCompagniesJoursFeries;
+-----------------------------+-----------------------------------------------+
| View
| Create View
|
+-----------------------------+-----------------------------------------------+
| VueDesCompagniesJoursFeries | CREATE ALGORITHM=UNDEFINED
|
|
| DEFINER=`root`@`localhost` SQL SECURITY
|
|
| DEFINER VIEW `VueDesCompagniesJoursFeries` AS |
|
| select sql_no_cache `Compagnie`.`comp` AS
|
|
| `comp`,`Compagnie`.`nrue` AS
|
|
| `nrue`,`Compagnie`.`rue` AS
|
|
| `rue`,`Compagnie`.`ville` AS
|
|
| `ville`,`Compagnie`.`nomComp` AS `nomComp`
|
|
| from `Compagnie` where
|
|
| (date_format(sysdate(),_latin1'%W') in
|
|
| (_latin1'Sunday',_latin1'Saturday'))
|
+-----------------------------+-----------------------------------------------+
Suppression d’une vue (DROP VIEW)
Vous devez posséder le privilège DROP sur une vue pour pouvoir la supprimer.
La suppression d’une vue n’entraîne pas la destruction des données qui résident toujours dans
les tables.
La syntaxe SQL est la suivante :
DROP VIEW [IF EXISTS]
[nomBase.]nomVue [,nomBase2.]nomVue2...
[RESTRICT | CASCADE];
q
IF EXISTS évite une erreur dans le cas où la vue n’existe pas.
q
RESTRICT et CASCADE ne sont pas encore opérationnels, il concerneront probablement la
répercussion de la suppression entre vues interdépendantes.
