我们需要创建一个存储过程来显示如何将数组传递给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)