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)
现在,通过创建名为“insert_studentinfo”的存储过程,我们可以向“student_info”表中插入值 –
mysql> DELIMITER //;
mysql> Create PROCEDURE insert_studentinfo(IN p_id int, IN p_name varchar(20),IN p_Address Varchar(20), IN p_subject Varchar(20))
-> BEGIN
-> insert into student_info(id, name, address, subject) values (p_id, p_name,p_address, p_subject);
-> END //
Query OK, 0 rows affected (0.09 sec)
现在,按照以下方式调用该过程以向表中插入我们想要的值 –
mysql> CALL insert_studentinfo(125,'Raman','Bangalore','Computers')//
Query OK, 1 row affected (0.78 sec)
mysql> DELIMITER ; //
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 |
| 125 | Raman | Bangalore | Computers |
+------+---------+------------+-----------+
5 rows in set (0.00 sec)
上面的结果集表明值已插入表中。
阅读更多:MySQL 教程