如何编写 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 // 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)
广告