如何编写一个在表中插入值的MySQL存储函数?

众所周知,要返回结果时最好使用该函数。因此,当我们将创建用于操作表的存储函数(如“插入”或“更新”值)时,它或多或少类似于存储过程。

示例

在下面的示例中,我们将创建一个名为“ tbl_insert”的存储函数,该函数会将值插入一个名为“ student_marks”的表中。

Create Function tbl_insert(S_name Varchar(50),M1 INT,M2 INT,M3 INT,M4 INT)
    -> RETURNS INT
    -> DETERMINISTIC
    -> BEGIN
    -> INSERT INTO student_marks values(S_name,M1,M2,M3,M4);
    -> RETURN 1;
    -> END//

Select tbl_insert('Saurabh',85,79,65,71);
+------------------------------+
| tbl_insert('RR',58,25,65,32) |
+------------------------------+
|                            1 |
+------------------------------+
1 row in set (0.07 sec)

Select * from student_marks;
+---------+------+---------+---------+---------+
| Name    | Math | English | Science | History |
+---------+------+---------+---------+---------+
| Raman   |   95 |      89 |      85 |      81 |
| Rahul   |   90 |      87 |      86 |      81 |
| Mohit   |   90 |    NULL |      86 |      81 |
| Saurabh |   85 |      79 |      65 |      71 |
+---------+------+---------+---------+---------+
4 rows in set (0.00 sec)
猜你喜欢