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

众所周知,要返回结果时最好使用该函数。因此,当我们将创建用于操作表的存储函数(如“插入”或“更新”值)时,它或多或少类似于存储过程。在以下示例中,我们将创建一个名为“ tbl_update”的存储函数,该函数将更新名为“ 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 //

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)

以上是 如何编写一个MySQL存储函数来更新表中的值? 的全部内容, 来源链接: utcz.com/z/321969.html

回到顶部