Heim  >  Artikel  >  Datenbank  >  Wie schreibe ich eine gespeicherte MySQL-Funktion, um einen Wert in einer Tabelle zu aktualisieren?

Wie schreibe ich eine gespeicherte MySQL-Funktion, um einen Wert in einer Tabelle zu aktualisieren?

PHPz
PHPznach vorne
2023-08-31 21:45:06709Durchsuche

如何编写一个 MySQL 存储函数来更新表中的值?

Wie wir alle wissen, ist es am besten, Funktionen zu verwenden, wenn wir ein Ergebnis zurückgeben möchten. Wenn wir also eine gespeicherte Funktion erstellen, um eine Tabelle zu bearbeiten, beispielsweise Werte einzufügen oder zu aktualisieren, ähnelt sie mehr oder weniger einer gespeicherten Prozedur. Im folgenden Beispiel erstellen wir eine gespeicherte Funktion mit dem Namen „tbl_update“, die die Werte in der Tabelle mit dem Namen „student_marks“ aktualisiert.

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)

Das obige ist der detaillierte Inhalt vonWie schreibe ich eine gespeicherte MySQL-Funktion, um einen Wert in einer Tabelle zu aktualisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen