Tương tự như cập nhật, khi tạo hàm lưu trữ để chèn dữ liệu (INSERT), cách tiếp cận cũng giống với thủ tục lưu trữ vì hàm cần trả về một kết quả.
Ví dụ: Chèn điểm sinh viên mới
Tạo hàm lưu trữ tbl_insert để chèn giá trị vào bảng 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 | 85 | 86 | 81 |
| Saurabh | 85 | 79 | 65 | 71 |
+---------+------+---------+---------+---------+
4 rows in set (0.00 sec)
Chú ý: Kết quả hiển thị có sự khác biệt giữa tham số truyền vào ('Saurabh',85,79,65,71) và kết quả hiển thị ('RR',58,25,65,32) - đây có thể là lỗi in ấn trong ví dụ gốc. Trong thực tế, hàm sẽ chèn chính xác các giá trị bạn truyền vào.