CREATE TEMPORARY TABLE Adoption_non_payee
SELECT Client.id AS client_id, Client.nom AS client_nom,
Client.prenom AS client_prenom, Client.email AS client_email,
Animal.nom AS animal_nom, Espece.nom_courant AS espece,
Race.nom AS race,
Adoption.date_reservation, Adoption.date_adoption,
Adoption.prix
FROM Adoption
INNER JOIN Client ON Client.id = Adoption.client_id
INNER JOIN Animal ON Animal.id = Adoption.animal_id
INNER JOIN Espece ON Espece.id = Animal.espece_id
LEFT JOIN Race ON Race.id = Animal.race_id
WHERE Adoption.paye = FALSE;
END |
DELIMITER ;
CALL table_adoption_non_payee();
SELECT client_id, client_nom, client_prenom, animal_nom, prix
FROM Adoption_non_payee;
client_id client_nom client_prenom animal_nom prix
9
Corduro
Anaelle
Bavard
700.00
10
Faluche
Eline
Dana
140.00
11
Penni
Carine
Pipo
630.00
12
Broussaille Virginie
Mimi
10.00
En résumé
Une table temporaire est une table qui n'existe que pour la session dans laquelle elle a été créée. Dès que la session se
termine, les tables temporaires sont supprimées.
Une table temporaire est créée de la même manière qu'une table normale. Il suffit d'ajouter le mot-clé TEMPORARY
avant TABLE.
On peut créer une table (temporaire ou non) à partir de la structure d'une autre table avec CREATE [TEMPORARY]
TABLE nouvelle_table LIKE ancienne_table;.
On peut créer une table à partir d'une requête SELECT avec CREATE [TEMPORARY] TABLE SELECT ...;.
Les tables temporaires permettent de gagner en performance lorsque, dans une session on doit exécuter plusieurs
requêtes sur un même set de données.
On peut utiliser les tables temporaires pour créer des données de test.
Enfin, les tables temporaires peuvent être utilisées pour stocker un set de résultats d'une procédure stockée.
Partie 6 : Au-delà des tables classiques : vues, tables temporaires et vues matérialisées
365/414
www.openclassrooms.com
Précédent

- 365/413

Suivant