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ữ để xóa các giá trị khỏi 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 để xóa các giá trị khỏi bảng MySQL. Để dễ hiểu, chúng tôi đang lấy một ví dụ về bảng có tên ‘student_info’ có dữ liệu sau -

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

Bây giờ, bằng cách tạo thủ tục có tên là ‘delete_studentinfo’ như sau, chúng ta có thể xóa các giá trị khỏi bảng ‘student_info’ -

mysql> DELIMITER // ;
mysql> Create Procedure Delete_studentinfo ( IN p_id INT)
    -> BEGIN
    -> DELETE FROM student_info
    -> WHERE ID=p_id;
    -> END //
Query OK, 0 rows affected (0.11 sec)

mysql> DELIMITER ; //

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

mysql> CALL Delete_studentinfo(100);
Query OK, 1 row affected (1.09 sec)

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)

Tập hợp kết quả trên cho thấy rằng bản ghi có id =100 đã bị xóa khỏi bảng.