Heim > Datenbank > MySQL-Tutorial > Wie erstellen wir eine in MySQL gespeicherte Funktion, die dynamische Daten aus einer Tabelle verwendet?

Wie erstellen wir eine in MySQL gespeicherte Funktion, die dynamische Daten aus einer Tabelle verwendet?

PHPz
Freigeben: 2023-09-18 13:37:03
nach vorne
1399 Leute haben es durchsucht

我们如何创建一个使用表中动态数据的 MySQL 存储函数?

Gespeicherte MySQL-Funktionen können auf Tabellen verweisen, aber sie können keine Anweisungen verwenden, die Ergebnismengen zurückgeben. Wir können also sagen, dass es keine SELECT-Abfrage gibt, die eine Ergebnismenge zurückgibt. Aber wir können SELECT INTO verwenden, um dieses Problem zu beseitigen. Beispielsweise erstellen wir eine Funktion „Avg_marks“, die die durchschnittliche Punktzahl anhand dynamischer Daten aus einer Tabelle namens „Student_marks“ (mit den folgenden Datensätzen) berechnet.

mysql> Select * from Student_marks;
+-------+------+---------+---------+---------+
| Name  | Math | English | Science | History |
+-------+------+---------+---------+---------+
| Raman |   95 |      89 |      85 |      81 |
| Rahul |   90 |      87 |      86 |      81 |
+-------+------+---------+---------+---------+
2 rows in set (0.00 sec)

mysql> DELIMITER //
mysql> Create Function Avg_marks(S_name Varchar(50))
    -> RETURNS INT
    -> DETERMINISTIC
    -> BEGIN
    -> DECLARE M1,M2,M3,M4,avg INT;
    -> SELECT Math,English,Science,History INTO M1,M2,M3,M4 FROM Student_marks W
HERE Name = S_name;
    -> SET avg = (M1+M2+M3+M4)/4;
    -> RETURN avg;
    -> END //
Query OK, 0 rows affected (0.01 sec)

mysql> DELIMITER ;
mysql> Select Avg_marks('Raman') AS 'Raman_Marks';
+-------------+
| Raman_Marks |
+-------------+
|          88 |
+-------------+
1 row in set (0.07 sec)

mysql> Select Avg_marks('Rahul') AS 'Raman_Marks';
+-------------+
| Raman_Marks |
+-------------+
|          86 |
+-------------+
1 row in set (0.00 sec)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie erstellen wir eine in MySQL gespeicherte Funktion, die dynamische Daten aus einer Tabelle verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage