Maison  >  Article  >  base de données  >  Qu'est-ce qu'une procédure stockée et comment créer une procédure stockée MySQL ?

Qu'est-ce qu'une procédure stockée et comment créer une procédure stockée MySQL ?

WBOY
WBOYavant
2023-08-24 18:09:021039parcourir

Quest-ce quune procédure stockée et comment créer une procédure stockée MySQL ?

Une procédure stockée, dans le contexte d'un langage informatique classique, peut être définie comme un sous-programme de type sous-programme stocké dans une base de données. Dans le contexte de MySQL, il s'agit d'une instruction SQL déclarative stockée dans le répertoire de la base de données. Avant d'écrire des procédures stockées dans MySQL, nous devons vérifier la version car MySQL 5 a introduit les procédures stockées. Voici la syntaxe pour créer une procédure stockée :

Syntaxe

CREATE [DEFINER = { user | CURRENT_USER }]
PROCEDURE sp_name ([proc_parameter[,...]])
[characteristic ...] routine_body
proc_parameter: [ IN | OUT | INOUT ] param_name type
type:
Any valid MySQL data type
characteristic:
COMMENT 'string'
| LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA
| MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
routine_body:
Valid SQL routine statement

Exemple

Voici un exemple où nous avons créé une procédure simple pour obtenir tous les enregistrements de la table 'student_info' qui contiennent les données suivantes−

mysql> select * from student_info;
+-----+---------+------------+------------+
| id  | Name    | Address    | Subject    |
+-----+---------+------------+------------+
| 100 | Aarav   | Delhi      | Computers  |
| 101 | YashPal | Amritsar   | History    |
| 105 | Gaurav  | Jaipur     | Literature |
| 110 | Rahul   | Chandigarh | History    |
+------+--------+------------+------------+
4 rows in set (0.00 sec)

Maintenant , avec la requête suivante, nous avons créé une procédure stockée nommée allrecords()

mysql> Delimiter //
mysql> Create Procedure allrecords()
    -> BEGIN
    -> Select * from Student_info;
    -> END//
Query OK, 0 rows affected (0.02 sec)
mysql> DELIMITER ;

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer