将数组传递至 MySQL 存储过程?
我们需要创建一个存储过程,演示如何将数组传递到 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)
广告