How to write a MySQL stored function that inserts values in a table?


As we know that function is best used when we want to return a result. Hence, when we will create stored functions for manipulating tables like to Insert or Update values then it would be more or less like stored procedures.

Example

In the following example we are creating a stored function named ‘tbl_insert’ which will insert the values in a table named ‘student_marks’.

mysql> 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//
Query OK, 0 rows affected (0.00 sec)

mysql> Select tbl_insert('Saurabh',85,79,65,71);
+------------------------------+
| tbl_insert('RR',58,25,65,32) |
+------------------------------+
|                            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 |    NULL |      86 |      81 |
| Saurabh |   85 |      79 |      65 |      71 |
+---------+------+---------+---------+---------+
4 rows in set (0.00 sec)

Updated on: 13-Feb-2020

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements