Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để tạo một thủ tục được lưu trữ để cập nhật các giá trị trong bảng MySQL?


Chúng ta có thể tạo một thủ tục được lưu trữ với toán tử IN để cập nhật các giá trị trong bảng MySQL. Để dễ hiểu, chúng tôi đang lấy một ví dụ về một bảng có tên ‘student_info’ có dữ liệu sau -

mysql> Select * from student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 101  | YashPal | Amritsar   | History    |
| 105  | Gaurav  | Jaipur     | Literature |
| 110  | Rahul   | Chandigarh | History    |
| 125  | Raman   | Bangalore  | Computers  |
+------+---------+------------+------------+
4 rows in set (0.01 sec)

Bây giờ, bằng cách tạo thủ tục có tên ‘update_studentinfo’ như sau, chúng tôi có thể cập nhật các giá trị trong bảng ‘student_info’ -

mysql> DELIMITER // ;
mysql> Create Procedure Update_studentinfo ( IN p_id INT, IN p_address varchar(20))
   -> BEGIN
   -> UPDATE student_info
   -> SET
   -> address = p_address WHERE id = p_id;
   -> END //
Query OK, 0 rows affected (0.13 sec)

Bây giờ, gọi thủ tục với các giá trị mà chúng ta muốn cập nhật trong bảng như sau -

mysql> Delimiter ; //
mysql> CALL Update_studentinfo(125, 'Shimla');
Query OK, 1 row affected (0.14 sec)

mysql> Select * from student_info;
+------+---------+------------+------------+
| id   | Name    | Address    | Subject    |
+------+---------+------------+------------+
| 101  | YashPal | Amritsar   | History    |
| 105  | Gaurav  | Jaipur     | Literature |
| 110  | Rahul   | Chandigarh | History    |
| 125  | Raman   | Shimla     | Computers  |
+------+---------+------------+------------+
4 rows in set (0.00 sec)

Tập kết quả trên cho thấy rằng địa chỉ của bản ghi có id =125 đã được cập nhật trong bảng.