Créons une table simple:

mysql> create table persons (nom varchar(30), prenom varchar(30), pseudo varchar(30));

Ajoutons des enregistrements:

mysql> insert into persons( nom, prenom, pseudo) values
('DUPONT', 'Michel', 'mdupont'),
('DURAND', 'Patrick', 'pdurand'),
('MARTIN', 'Sophie', 'smartin');
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 0

mysql>

Nous allons créer une procédure, qui prendra 2 variables.

Avant tout il faut changer temporairement le délimiteur de fin de commande, pour que MySQL ne s’emmêle pas les crayons:

mysql> delimiter |
mysql>

Création de la procédure:

mysql> CREATE PROCEDURE list_persons(myname VARCHAR(64),myfirstname VARCHAR(64))      
    BEGIN
    SELECT nom, prenom, pseudo
    FROM persons WHERE nom = myname AND prenom = myfirstname;
    END|
Query OK, 0 rows affected (0.00 sec)

mysql>

Puis on remet le délimiteur normal « ; »

mysql> delimiter ;
mysql>

Enfin on teste notre procédure stockée:

mysql> call list_persons ('MARTIN','Sophie');
+--------+--------+---------+
| nom | prenom | pseudo |
+--------+--------+---------+
| MARTIN | Sophie | smartin |
+--------+--------+---------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.00 sec)
mysql>

Voilà, vous avez créé votre première procédure stockée sou MySQL. Bravo.

Print Friendly, PDF & Email

Laissez un commentaire

You have to agree to the comment policy.

Vous pouvez utiliser ces tags et attributs HTML:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>