함수는 결과를 반환할 때 가장 잘 사용된다는 것을 알고 있습니다. 따라서 값을 삽입하거나 업데이트하는 것과 같이 테이블을 조작하기 위한 저장 함수를 만들 때 저장 프로시저와 다소 비슷합니다. 다음 예에서는 'student_marks'라는 테이블의 값을 업데이트하는 'tbl_update'라는 저장 함수를 생성합니다.
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)