배열을 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)