Structurer ses instructions
Lorsque l'on écrit une série d'instructions, par exemple dans le corps d'une procédure stockée, il est nécessaire d'être capable de
structurer ses instructions. Cela va permettre d’instiller de la logique dans le traitement : exécuter telles ou telles instructions en
fonction des données que l'on possède, répéter une instruction un certain nombre de fois, etc.
Voici quelques outils indispensables à la structuration des instructions :
les variables locales : qui vont permettre de stocker et modifier des valeurs pendant le déroulement d'une procédure ;
les conditions : qui vont permettre d'exécuter certaines instructions seulement si une certaine condition est remplie ;
les boucles : qui vont permettre de répéter une instruction plusieurs fois.
Ces structures sont bien sûr utilisables dans les procédures stockées, que nous avons vues au chapitre précédent, mais pas
uniquement. Elles sont utilisables dans tout objet définissant une série d'instructions à exécuter. C'est le cas des fonctions
stockées (non couvertes par ce cours et qui forment avec les procédures stockées ce qu'on appelle les "routines"), des
événements (non couverts), et également des triggers, auxquels un chapitre est consacré à la fin de cette partie.
Blocs d'instructions et variables locales
Blocs d'instructions
Nous avons vu qu'un bloc d'instructions était défini par les mots-clés BEGIN et END, entre lesquels on met les instructions qui
composent le bloc (de zéro à autant d'instructions que l'on veut, séparées bien sûr d'un ;).
Il est possible d'imbriquer plusieurs blocs d'instructions. De même, à l'intérieur d'un bloc d'instructions, plusieurs blocs
d'instructions peuvent se suivre. Ceux-ci permettent donc de structurer les instructions en plusieurs parties distinctes et sur
plusieurs niveaux d'imbrication différents.
Code : SQL
BEGIN
SELECT 'Bloc d''instructions principal';
BEGIN
SELECT 'Bloc d''instructions 2, imbriqué dans le bloc
principal';
BEGIN
SELECT 'Bloc d''instructions 3, imbriqué dans le bloc
d''instructions 2';
END;
END;
BEGIN
SELECT 'Bloc d''instructions 4, imbriqué dans le bloc
principal';
END;
END;
Cet exemple montre également l'importance de l'indentation pour avoir un code lisible. Ici, toutes les instructions d'un
bloc sont au même niveau et décalées vers la droite par rapport à la déclaration du bloc. Cela permet de voir en un coup
d’œil où commence et où se termine chaque bloc d'instructions.
Variables locales
Nous connaissons déjà les variables utilisateur, qui sont des variables désignées par @. J'ai également mentionné l'existence des
variables système, qui sont des variables prédéfinies par MySQL.
Voyons maintenant les variables locales, qui peuvent être définies dans un bloc d'instructions.
Déclaration d'une variable locale
Partie 5 : Sécuriser et automatiser ses actions
275/414
www.openclassrooms.com
Lorsque l'on écrit une série d'instructions, par exemple dans le corps d'une procédure stockée, il est nécessaire d'être capable de
structurer ses instructions. Cela va permettre d’instiller de la logique dans le traitement : exécuter telles ou telles instructions en
fonction des données que l'on possède, répéter une instruction un certain nombre de fois, etc.
Voici quelques outils indispensables à la structuration des instructions :
les variables locales : qui vont permettre de stocker et modifier des valeurs pendant le déroulement d'une procédure ;
les conditions : qui vont permettre d'exécuter certaines instructions seulement si une certaine condition est remplie ;
les boucles : qui vont permettre de répéter une instruction plusieurs fois.
Ces structures sont bien sûr utilisables dans les procédures stockées, que nous avons vues au chapitre précédent, mais pas
uniquement. Elles sont utilisables dans tout objet définissant une série d'instructions à exécuter. C'est le cas des fonctions
stockées (non couvertes par ce cours et qui forment avec les procédures stockées ce qu'on appelle les "routines"), des
événements (non couverts), et également des triggers, auxquels un chapitre est consacré à la fin de cette partie.
Blocs d'instructions et variables locales
Blocs d'instructions
Nous avons vu qu'un bloc d'instructions était défini par les mots-clés BEGIN et END, entre lesquels on met les instructions qui
composent le bloc (de zéro à autant d'instructions que l'on veut, séparées bien sûr d'un ;).
Il est possible d'imbriquer plusieurs blocs d'instructions. De même, à l'intérieur d'un bloc d'instructions, plusieurs blocs
d'instructions peuvent se suivre. Ceux-ci permettent donc de structurer les instructions en plusieurs parties distinctes et sur
plusieurs niveaux d'imbrication différents.
Code : SQL
BEGIN
SELECT 'Bloc d''instructions principal';
BEGIN
SELECT 'Bloc d''instructions 2, imbriqué dans le bloc
principal';
BEGIN
SELECT 'Bloc d''instructions 3, imbriqué dans le bloc
d''instructions 2';
END;
END;
BEGIN
SELECT 'Bloc d''instructions 4, imbriqué dans le bloc
principal';
END;
END;
Cet exemple montre également l'importance de l'indentation pour avoir un code lisible. Ici, toutes les instructions d'un
bloc sont au même niveau et décalées vers la droite par rapport à la déclaration du bloc. Cela permet de voir en un coup
d’œil où commence et où se termine chaque bloc d'instructions.
Variables locales
Nous connaissons déjà les variables utilisateur, qui sont des variables désignées par @. J'ai également mentionné l'existence des
variables système, qui sont des variables prédéfinies par MySQL.
Voyons maintenant les variables locales, qui peuvent être définies dans un bloc d'instructions.
Déclaration d'une variable locale
Partie 5 : Sécuriser et automatiser ses actions
275/414
www.openclassrooms.com
