在 MySQL 存储过程中实现 DELETE 查询
mysqlmysqli database
您可以使用存储过程,并可以通过参数传递值。让我们首先创建一个表 −
mysql> create table DemoTable1464 -> ( -> Id int, -> FirstName varchar(20) -> ); Query OK, 0 rows affected (0.51 sec)
使用 insert 命令在表中插入一些记录 −
mysql> insert into DemoTable1464 values(101,'Chris Brown'); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable1464 values(102,'John Doe'); Query OK, 1 row affected (0.09 sec)
使用 select 语句显示表中的所有记录 −
mysql> select * from DemoTable1464;
这将产生以下输出 −
+------+-------------+ | Id | FirstName | +------+-------------+ | 101 | Chris Brown | | 102 | John Doe | +------+-------------+ 2 rows in set (0.00 sec)
这是在存储过程中实现删除的查询 −
mysql> DELIMITER // mysql> CREATE PROCEDURE delete_demo(IN local_Id int, IN local_Name varchar(20)) -> BEGIN -> delete from DemoTable1464 -> where Id=local_Id and -> FirstName=local_Name; -> END // Query OK, 0 rows affected (0.24 sec) mysql> DELIMITER ;
现在您可以使用 call 命令调用存储过程 −
mysql> call delete_demo(102,'John Doe'); Query OK, 1 row affected, 1 warning (0.11 sec)
让我们再次检查表记录 −
mysql> select * from DemoTable1464;
这将产生以下输出 −
+------+-------------+ | Id | FirstName | +------+-------------+ | 101 | Chris Brown | +------+-------------+ 1 row in set (0.00 sec)