我们需要创建一个存储过程来显示如何将数组传递给MySQL存储例程。让我们首先为我们的示例创建一个表。
建立表格
mysql> create table FindDemo -> ( -> name varchar(100) -> );
在表中插入一些记录。
mysql> insert into FindDemo values('John'),('Smith'); 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//
将数组作为参数传递。
mysql> delimiter ; mysql> call SearchingStoredProcedure('David,Bob,John');
这是输出。
+------+ | name | +------+ | John | +------+ 1 row in set (0.00 sec)