Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ส่งอาร์เรย์ไปยังรูทีนที่เก็บไว้ของ MySQL หรือไม่


เราจำเป็นต้องสร้างกระบวนงานที่เก็บไว้เพื่อแสดงวิธีการส่งผ่านอาร์เรย์ไปยังรูทีนที่เก็บไว้ของ MySQL ให้เราสร้างตารางสำหรับตัวอย่างของเราก่อน

การสร้างตาราง

mysql> สร้างตาราง FindDemo -> ( -> ชื่อ varchar(100) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.46 วินาที)

การแทรกเรคคอร์ดบางส่วนลงในตาราง

mysql> แทรกลงในค่า FindDemo ('John'), ('Smith'); แบบสอบถามตกลง ได้รับผลกระทบ 2 แถว (0.13 วินาที) บันทึก:2 รายการซ้ำ:0 คำเตือน:0

เพื่อแสดงรายการทั้งหมด

mysql> เลือก *จาก FindDemo;

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+-------+| ชื่อ |+-------+| จอห์น || Smith |+-------+2 แถวในชุด (0.00 วินาที)

เพื่อสร้างรูทีนที่เก็บไว้ซึ่งรับอาร์เรย์เป็นพารามิเตอร์

mysql> ตัวคั่น //mysql>CREATE PROCEDURE SearchingStoredProcedure(IN ArrayDemo VARCHAR(100)) -> BEGIN -> SELECT * FROM FindDemo -> WHERE FIND_IN_SET(ชื่อ ArrayDemo); -> -> END//Query OK, 0 แถวได้รับผลกระทบ (0.14 วินาที)

ส่งผ่านอาร์เรย์เป็นพารามิเตอร์

mysql> ตัวคั่น;mysql> เรียก SearchingStoredProcedure('David,Bob,John');

นี่คือผลลัพธ์

<ก่อนหน้า>+------+| ชื่อ |+------+| John |+------+1 แถวในชุด (0.00 วินาที) ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.01 วินาที)