id
nom
espece_id prix
1 Berger allemand
1
485.00
2 Berger blanc suisse 1
935.00
3 Singapura
2
985.00
4 Bleu russe
2
835.00
5 Maine coon
2
735.00
7 Sphynx
2
1235.00
8 Nebelung
2
985.00
9 Rottweiller
1
600.00
Le bloc d'instructions a bien été exécuté (un simple SELECT dans ce cas).
Les paramètres d'une procédure stockée
Maintenant que l'on sait créer une procédure et l'appeler, intéressons-nous aux paramètres.
Sens des paramètres
Un paramètre peut être de trois sens différents : entrant (IN), sortant (OUT), ou les deux (INOUT).
IN : c'est un paramètre "entrant". C'est-à-dire qu'il s'agit d'un paramètre dont la valeur est fournie à la procédure stockée.
Cette valeur sera utilisée pendant la procédure (pour un calcul ou une sélection par exemple).
OUT : il s'agit d'un paramètre "sortant", dont la valeur va être établie au cours de la procédure et qui pourra ensuite être
utilisé en dehors de cette procédure.
INOUT : un tel paramètre sera utilisé pendant la procédure, verra éventuellement sa valeur modifiée par celle-ci, et sera
ensuite utilisable en dehors.
Syntaxe
Lorsque l'on crée une procédure avec un ou plusieurs paramètres, chaque paramètre est défini par trois éléments.
Son sens : entrant, sortant, ou les deux. Si aucun sens n'est donné, il s'agira d'un paramètre IN par défaut.
Son nom : indispensable pour le désigner à l'intérieur de la procédure.
Son type : INT, VARCHAR(10),…
Exemples
Procédure avec un seul paramètre entrant
Voici une procédure qui, selon l'id de l'espèce qu'on lui passe en paramètre, affiche les différentes races existant pour cette
espèce.
Code : SQL
DELIMITER |
-Facultatif si votre délimiteur est toujours |
CREATE PROCEDURE afficher_race_selon_espece (IN p_espece_id INT) -Définition du paramètre p_espece_id
BEGIN
SELECT id, nom, espece_id, prix
FROM Race
WHERE espece_id = p_espece_id;
-Utilisation du paramètre
END |
Partie 5 : Sécuriser et automatiser ses actions
268/414
www.openclassrooms.com
nom
espece_id prix
1 Berger allemand
1
485.00
2 Berger blanc suisse 1
935.00
3 Singapura
2
985.00
4 Bleu russe
2
835.00
5 Maine coon
2
735.00
7 Sphynx
2
1235.00
8 Nebelung
2
985.00
9 Rottweiller
1
600.00
Le bloc d'instructions a bien été exécuté (un simple SELECT dans ce cas).
Les paramètres d'une procédure stockée
Maintenant que l'on sait créer une procédure et l'appeler, intéressons-nous aux paramètres.
Sens des paramètres
Un paramètre peut être de trois sens différents : entrant (IN), sortant (OUT), ou les deux (INOUT).
IN : c'est un paramètre "entrant". C'est-à-dire qu'il s'agit d'un paramètre dont la valeur est fournie à la procédure stockée.
Cette valeur sera utilisée pendant la procédure (pour un calcul ou une sélection par exemple).
OUT : il s'agit d'un paramètre "sortant", dont la valeur va être établie au cours de la procédure et qui pourra ensuite être
utilisé en dehors de cette procédure.
INOUT : un tel paramètre sera utilisé pendant la procédure, verra éventuellement sa valeur modifiée par celle-ci, et sera
ensuite utilisable en dehors.
Syntaxe
Lorsque l'on crée une procédure avec un ou plusieurs paramètres, chaque paramètre est défini par trois éléments.
Son sens : entrant, sortant, ou les deux. Si aucun sens n'est donné, il s'agira d'un paramètre IN par défaut.
Son nom : indispensable pour le désigner à l'intérieur de la procédure.
Son type : INT, VARCHAR(10),…
Exemples
Procédure avec un seul paramètre entrant
Voici une procédure qui, selon l'id de l'espèce qu'on lui passe en paramètre, affiche les différentes races existant pour cette
espèce.
Code : SQL
DELIMITER |
-Facultatif si votre délimiteur est toujours |
CREATE PROCEDURE afficher_race_selon_espece (IN p_espece_id INT) -Définition du paramètre p_espece_id
BEGIN
SELECT id, nom, espece_id, prix
FROM Race
WHERE espece_id = p_espece_id;
-Utilisation du paramètre
END |
Partie 5 : Sécuriser et automatiser ses actions
268/414
www.openclassrooms.com
