
- Learn MySQL
- MySQL - Home
- MySQL - Introduction
- MySQL - Installation
- MySQL - Administration
- MySQL - PHP Syntax
- MySQL - Connection
- MySQL - Create Database
- MySQL - Drop Database
- MySQL - Select Database
- MySQL - Data Types
- MySQL - Create Tables
- MySQL - Drop Tables
- MySQL - Insert Query
- MySQL - Select Query
- MySQL - Where Clause
- MySQL - Update Query
- MySQL - Delete Query
- MySQL - Like Clause
- MySQL - Sorting Results
- MySQL - Using Join
- MySQL - NULL Values
- MySQL - Regexps
- MySQL - Transactions
- MySQL - Alter Command
- MySQL - Indexes
- MySQL - Temporary Tables
- MySQL - Clone Tables
- MySQL - Database Info
- MySQL - Using Sequences
- MySQL - Handling Duplicates
- MySQL - SQL Injection
- MySQL - Database Export
- MySQL - Database Import
How to write a MySQL stored function that updates the 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. In the following example, we are creating a stored function named ‘tbl_update’ which will update the values in a table named ‘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)
- Related Articles
- How to write a MySQL stored function that inserts values in a table?
- How can I create a MySQL stored procedure that returns multiple values from a MySQL table?
- How to repeat the values stored in a data column of MySQL table?
- How can we create a MySQL stored function that uses the dynamic data from a table?
- How can I write a MySQL stored function that calculates the factorial of a given number?
- How can I create a stored procedure to insert values in a MySQL table?
- How can I create a stored procedure to update values in a MySQL table?
- How can I create a stored procedure to delete values from a MySQL table?
- How MySQL stored function evaluates if it got NULL value while using the dynamic values from a table?
- How to apply EXTRACT() function on the dates stored in MySQL table?
- How can we write MySQL stored procedure to select all the data from a table?
- How to delete the duplicate values stored in reverse order from MySQL table?
- MySQL Stored Procedure to create a table?
- How can we handle NULL values stored in a MySQL table by using PHP script?
- How to apply EXTRACT() function with WHERE Clause on the dates stored in MySQL table?

Advertisements