Les colonnes de la vue
Comme pour les tables, on peut utiliser la commande DESCRIBE pour voir les différentes colonnes de notre vue.
Code : SQL
DESCRIBE V_Animal_details;
Field
Type
Null Key Default Extra
id
smallint(6) unsigned NO
0
sexe
char(1)
YES
NULL
date_naissance datetime
NO
NULL
nom
varchar(30)
YES
NULL
commentaires
text
YES
NULL
espece_id
smallint(6) unsigned NO
NULL
race_id
smallint(6) unsigned YES
NULL
mere_id
smallint(6) unsigned YES
NULL
pere_id
smallint(6) unsigned YES
NULL
disponible
tinyint(1)
YES
1
espece_nom
varchar(40)
NO
NULL
race_nom
varchar(40)
YES
NULL
Comme on pouvait s'y attendre, les noms de colonnes ont été déterminés par la clause SELECT de la requête définissant la vue.
S'il n'y avait pas d'alias pour la colonne, c'est simplement le même nom que dans la table d'origine (date_naissance par exemple),
et si un alias a été donné, il est utilisé (espece_nom par exemple).
Lister les colonnes dans CREATE VIEW
Il existe une autre possibilité que les alias dans la clause SELECT pour nommer les colonnes d'une vue. Il suffit de lister les
colonnes juste après le nom de la vue, lors de la création de celle-ci. La commande suivante est l'équivalent de la précédente pour
la création de V_Animal_details, mais cette fois sans alias dans la requête SELECT.
Code : SQL
CREATE VIEW V_Animal_details (id, sexe, date_naissance, nom,
commentaires, espece_id, race_id, mere_id, pere_id, disponible,
espece_nom, race_nom)
AS SELECT Animal.id, Animal.sexe, Animal.date_naissance, Animal.nom,
Animal.commentaires,
Animal.espece_id, Animal.race_id, Animal.mere_id,
Animal.pere_id, Animal.disponible,
Espece.nom_courant, Race.nom
FROM Animal
INNER JOIN Espece ON Animal.espece_id = Espece.id
LEFT JOIN Race ON Animal.race_id = Race.id;
Il faut toujours vérifier que les colonnes sélectionnées sont dans le bon ordre par rapport à la liste des noms, car la
correspondance se fait uniquement sur la base de la position. MySQL ne lèvera pas le petit doigt si l'on nomme
"espece" une colonne contenant le sexe.
Partie 6 : Au-delà des tables classiques : vues, tables temporaires et vues matérialisées
334/414
www.openclassrooms.com
Précédent

- 334/413

Suivant