Sélectionner*fromstudent_marks//+---------+------+---------+---------+--------- ----+|Nom |Maths|Anglais|Sc"/> Sélectionner*fromstudent_marks//+---------+------+---------+---------+--------- ----+|Nom |Maths|Anglais|Sc">

Maison >base de données >tutoriel mysql >Comment écrire une fonction stockée MySQL pour mettre à jour une valeur dans une table ?

Comment écrire une fonction stockée MySQL pour mettre à jour une valeur dans une table ?

PHPz
PHPzavant
2023-08-31 21:45:06722parcourir

如何编写一个 MySQL 存储函数来更新表中的值?

Comme nous le savons tous, lorsque l'on souhaite renvoyer un résultat, il est préférable d'utiliser des fonctions. Ainsi, lorsque nous créons une fonction stockée pour opérer sur une table, comme insérer ou mettre à jour des valeurs, cela ressemble plus ou moins à une procédure stockée. Dans l'exemple suivant, nous allons créer une fonction stockée nommée "tbl_update" qui mettra à jour les valeurs dans la table nommée "student_marks".

mysql> Select * from student_marks//
+---------+------+---------+---------+---------+
| Name    | Math | English | Science | History |
+---------+------+---------+---------+---------+
| Raman   |   95 |      89 |      85 |      81 |
| Rahul   |   90 |      87 |      86 |      81 |
| Mohit   |   90 |      85 |      86 |      81 |
| Saurabh | NULL |    NULL |    NULL |    NULL |
+---------+------+---------+---------+---------+
4 rows in set (0.00 sec)

mysql> Create Function tbl_Update(S_name Varchar(50),M1 INT,M2 INT,M3 INT,M4 INT)
    -> RETURNS INT
    -> DETERMINISTIC
    -> BEGIN
    -> UPDATE student_marks SET Math = M1,English = M2, Science = M3, History =M4 WHERE Name = S_name;
    -> RETURN 1;
    -> END //
Query OK, 0 rows affected (0.03 sec)

mysql> Select tbl_update('Saurabh',85,69,75,82);
+------------------------------------+
| tbl_update('Saurabh',85,69,75,82)  |
+------------------------------------+
|                                  1 |
+------------------------------------+
1 row in set (0.07 sec)

mysql> Select * from Student_marks;
+---------+------+---------+---------+---------+
| Name    | Math | English | Science | History |
+---------+------+---------+---------+---------+
| Raman   |   95 |      89 |      85 |      81 |
| Rahul   |   90 |      87 |      86 |      81 |
| Mohit   |   90 |      85 |      86 |      81 |
| Saurabh |   85 |      69 |      75 |      82 |
+---------+------+---------+---------+---------+
4 rows in set (0.00 sec)

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