MySQL MariaDB

Créer des procédures stockées dans MySQL

Créer des procédures stockées dans MySQL
Les procédures stockées sont une liste définie par l'utilisateur d'instructions SQL précompilées qui sont conservées et exploitées à la demande dans une banque de données MySQL pour exécuter un processus de base de données spécifique. Cela implique qu'il est probable de réutiliser le script à nouveau. Une procédure a un titre, un ensemble de paramètres et une instruction SQL, de sorte que la procédure stockée peut fonctionner en fonction de la ou des valeurs du paramètre transféré. Les procédures stockées doivent être exécutées à l'aide de la phrase CALL. Dans ce guide, explorons petit à petit le processus de génération de nouvelles procédures stockées dans la clause MySQL CREATE PROCEDURE. Alors, commençons.

Créer une procédure stockée via Workbench :

Ouvrez le MySQL Workbench 8 nouvellement installé.0 et connectez-le à la base de données racine localhost.

À l'intérieur du Workbench, il y a une barre de navigation. Sous cette barre de navigation, il y a un ensemble de différentes fonctions de MySQL. Il comprend une liste de bases de données, de tables, de procédures stockées et bien d'autres, comme vous pouvez le voir sur l'image.

Lorsque vous explorez l'option 'Tables', vous trouverez la liste des tables dans une vue en grille. Comme indiqué ci-dessous, nous avons un tableau 'social'.

Faites un clic droit sur l'option 'Procédure stockée' et cliquez sur l'option 'Créer une procédure stockée' comme indiqué dans l'image.

Une nouvelle fenêtre s'ouvrira, comme le montre la photo ci-dessous. Vous pouvez modifier le nom de la procédure stockée dans la zone de requête en supprimant la valeur entre guillemets.

Maintenant, vous pouvez éditer cette requête selon votre désir. Nous nommons la procédure stockée comme « détail » tout en obtenant les données d'une table « sociale » où sa valeur dans la colonne « Site Web » est équivalente à « Instagram.' Cela signifie que la procédure de stockage, lors de l'exécution, n'affichera que les enregistrements de cette table où le 'site web' est 'Instagram.' Cliquez sur le bouton Appliquer.

Vous obtiendrez un écran d'aperçu où vous pourrez changer ou modifier votre requête si nécessaire. Vous pouvez voir une syntaxe complète de la procédure stockée nouvellement créée via le Workbench. Cliquez sur le bouton Appliquer pour l'exécuter.

S'il n'y a pas d'erreurs dans la requête, cela fonctionnera correctement comme indiqué ci-dessous. Appuyez sur le bouton Terminer.

Lorsque vous regardez l'option des procédures stockées et que vous l'actualisez, cela vous montrera une procédure nouvellement créée.

Lorsque vous exécutez cette procédure, il vous montrera que les seuls enregistrements ayant une valeur de colonne "Site Web" sont "Instagram" comme ci-dessous.

Créer une procédure stockée via le shell de ligne de commande :

Ouvrez le shell client en ligne de commande de MySQL 8.0 et entrez le mot de passe de MySQL en dessous.

Supposons que nous ayons une table nommée 'record' dans le schéma de base de données 'data'. Vérifions les enregistrements de celui-ci à l'aide de la commande SELECT comme suit :

>> SÉLECTIONNER * À PARTIR des données.enregistrer;

Utilisez la commande 'use data' pour utiliser la base de données où vous souhaitez ajouter la procédure stockée.

>> utiliser les données ;

Exemple 01 : Procédure stockée sans paramètres

Pour créer une procédure sans paramètre, vous devez la créer avec une commande CREATE PROCEDURE précédée du mot clé 'DELIMITER'. Ensuite, nous créons une procédure nommée 'Filter' sans paramètres. Il récupère tous les enregistrements de la table 'record' où la colonne 'Country' a 'ia' à la fin de ses valeurs. Le processus doit être terminé avec le mot-clé 'END'.

Nous utiliserons la clause CALL pour exécuter la procédure stockée dans la ligne de commande. Lors de l'exécution de la commande CALL, nous avons les résultats ci-dessous. Vous pouvez voir que la requête doit récupérer uniquement les enregistrements où la colonne "Pays" a "ia" à la fin de ses valeurs.

Exemple 02 : Procédure stockée avec un seul paramètre

Il est grand temps de générer une procédure avec un seul paramètre. Pour cela, utilisez la requête CREATE PROCEDURE dirigée par le mot-clé 'DELIMITER.' Donc, nous devons créer une procédure 'Rec' qui prend une valeur comme argument d'entrée dans laquelle dans cet exemple est la variable 'Var1' par un utilisateur dans ses paramètres. Commencez la procédure par le mot-clé 'BEGIN'. L'instruction SELECT est utilisée pour récupérer tous les enregistrements de la table 'record' où la colonne 'Name' a la même valeur que dans 'Var1'. Il s'agit d'une correspondance d'enregistrements. Terminez la procédure stockée avec le mot-clé 'END' suivi des signes '&&'.

'

Exécutez d'abord la requête DELIMITER pour que la procédure stockée se prépare. Après cela, exécutez la requête CALL suivie du nom de la procédure et de sa valeur d'argument d'entrée dans les accolades. Il vous suffit d'exécuter la commande ci-dessous et vous obtiendrez les résultats. Comme nous l'avons fourni, 'Zafar' dans nos paramètres, c'est pourquoi, après la comparaison, nous avons ce résultat.

Exemple 03 : Procédure stockée avec plusieurs paramètres

Voyons comment fonctionne la procédure lorsqu'elle a été fournie avec plusieurs paramètres. N'oubliez pas d'utiliser le mot-clé 'DELIMITER' avec les signes '&&'. Utilisez la commande CREATE PROCEDURE pour créer une procédure 'Nouveau'. Cette procédure prendra deux arguments dans ses paramètres e.g. 'var1' et 'var2'. Commencez la procédure avec la clause BEGIN. Maintenant c'est quelque chose de nouveau. La clause SELECT récupère à nouveau tous les enregistrements de la table 'record'. Le premier argument passé par un utilisateur sera mis en correspondance avec les valeurs de la colonne 'Nom'. En revanche, le deuxième argument passé par un utilisateur sera mis en correspondance avec les valeurs de la colonne 'Pays'. Si les enregistrements correspondent, il récupérera toutes les données de lignes consécutives. La procédure serait terminée avec le mot-clé 'END'.

Utiliser le mot clé DELIMITER pour activer la procédure. Après cela, exécutez la clause CALL suivie du nom de la procédure stockée, qui est « Nouveau » avec les valeurs des paramètres. Il ressort clairement de l'image ci-dessous que la requête ne récupérera que l'enregistrement de la table 'record' où les deux valeurs saisies par l'utilisateur correspondent.

Conclusion:

Dans ce guide, vous avez découvert les différentes manières de créer une procédure stockée dans MySQL Workbench et le shell client en ligne de commande MySQL e.g., Procédure stockée avec et sans paramètres.

Meilleures applications de mappage de manette de jeu pour Linux
Si vous aimez jouer à des jeux sur Linux avec une manette de jeu au lieu d'un système de saisie clavier et souris typique, il existe des applications ...
Outils utiles pour les joueurs Linux
Si vous aimez jouer à des jeux sur Linux, il est probable que vous ayez utilisé des applications et des utilitaires comme Wine, Lutris et OBS Studio p...
Jeux HD remasterisés pour Linux qui n'ont jamais eu de version Linux plus tôt
De nombreux développeurs et éditeurs de jeux proposent une remasterisation HD d'anciens jeux pour prolonger la durée de vie de la franchise, veuillez ...