MySQL 如何创建用于从MySQL表中删除值的存储过程?
我们可以使用IN运算符创建一个存储过程来从MySQL表中删除值。为了让大家理解,我们以名为“student_info”的表为例,该表包含以下数据 −
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)
现在,通过创建名为“delete_studentinfo”的示例过程,我们可以从“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 ; //
现在,可以按如下方式使用表中要删除的值调用过程 –
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)
上述结果集表明从表中删除id = 100的记录。
阅读更多:MySQL 教程