Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จะเขียนฟังก์ชั่นที่เก็บไว้ MySQL ที่อัพเดตค่าในตารางได้อย่างไร?


อย่างที่เราทราบดีว่าฟังก์ชันนั้นใช้ดีที่สุดเมื่อเราต้องการส่งคืนผลลัพธ์ ดังนั้น เมื่อเราสร้างฟังก์ชันที่เก็บไว้สำหรับจัดการตารางเช่นการแทรกหรืออัปเดตค่า มันก็จะเหมือนกับกระบวนงานที่เก็บไว้ไม่มากก็น้อย ในตัวอย่างต่อไปนี้ เรากำลังสร้างฟังก์ชันที่เก็บไว้ชื่อ 'tbl_update' ซึ่งจะอัปเดตค่าในตารางชื่อ '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)