Computer >> Máy Tính >  >> Lập trình >> MySQL

Chuyển mảng sang quy trình lưu trữ MySQL?

Chúng ta cần tạo một thủ tục được lưu trữ để hiển thị cách truyền mảng vào quy trình lưu trữ MySQL. Đầu tiên chúng ta hãy tạo một bảng cho ví dụ của chúng ta.

Tạo bảng

mysql> create table FindDemo
   -> (
   -> name varchar(100)
   -> );
Query OK, 0 rows affected (0.46 sec)

Chèn một số bản ghi vào bảng.

mysql> insert into FindDemo values('John'),('Smith');
Query OK, 2 rows affected (0.13 sec)
Records: 2  Duplicates: 0  Warnings: 0

Để hiển thị tất cả các bản ghi.

mysql> select *from FindDemo;

Sau đây là kết quả.

+-------+
| name  |
+-------+
| John  |
| Smith |
+-------+
2 rows in set (0.00 sec)

Để tạo một quy trình được lưu trữ chấp nhận một mảng làm tham số.

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)

Truyền mảng dưới dạng tham số.

mysql> delimiter ;
mysql> call SearchingStoredProcedure('David,Bob,John');

Đây là kết quả đầu ra.

+------+
| name |
+------+
| John |
+------+
1 row in set (0.00 sec)

Query OK, 0 rows affected (0.01 sec)