将数组传递给 MySQL 存储例程?
mysqlmysqli database
我们需要创建一个存储过程来显示如何将数组传递给 MySQL 存储例程。让我们首先为我们的示例创建一个表。
创建表
mysql> create table FindDemo -> ( -> name varchar(100) -> ); Query OK, 0 rows affected (0.46 sec)
向表中插入一些记录。
mysql> insert into FindDemo values('John'),('Smith'); Query OK, 2 rows affected (0.13 sec) Records: 2 Duplicates: 0 Warnings: 0
显示所有记录。
mysql> select *from FindDemo;
以下是输出。
+-------+ | name | +-------+ | John | | Smith | +-------+ 2 rows in set (0.00 sec)
创建接受数组作为参数的存储例程。
mysql> delimiter // mysql>CREATE PROCEDURE SearchingStoredProcedure(IN ArrayDemo VARCHAR(100)) -> BEGIN -> SELECT * FROM FindDemo -> WHERE FIND_IN_SET(name, ArrayDemo); -> -> END// Query OK, 0 rows affected (0.14 sec)
将数组作为参数传递。
mysql> delimiter ; mysql> call SearchingStoredProcedure('David,Bob,John');
这是输出。
+------+ | name | +------+ | John | +------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)