ให้เราสร้างตารางก่อน -
mysql> สร้างตาราง DemoTable -> ( -> Id int, -> Name varchar(20) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.69 วินาที)
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า DemoTable (100,'Chris'); Query OK, 1 แถวได้รับผลกระทบ (0.12 วินาที)mysql> แทรกลงในค่า DemoTable (101,'Bob'); Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที )mysql> แทรกลงในค่า DemoTable (102,'David'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.18 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก * จาก DemoTable;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+------+-------+| รหัส | ชื่อ |+------+-------+| 100 | คริส || 101 | บ๊อบ || 102 | David |+------+-------+3 แถวในชุด (0.00 วินาที)นี่คือแบบสอบถามเพื่อสร้างขั้นตอนการจัดเก็บเพื่อใช้ WHERE IN() -
mysql> DELIMITER //mysql> CREATE PROCEDURE โดยที่ InDemo (ในอินพุต varchar (100)) -> BEGIN -> ตั้งค่า @Query ='เลือกชื่อจาก DemoTable'; -> ตั้งค่า @Query =CONCAT(@Query,' where Id IN (',`input',')'); -> เตรียม stmt จาก @Query; -> ดำเนินการ stmt; -> จัดสรรคืนเตรียม stmt; -> END //แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.23 วินาที)mysql> DELIMITER;
ตอนนี้คุณสามารถเรียกกระบวนงานที่เก็บไว้โดยใช้คำสั่ง CALL -
mysql> call whereInDemo('100,102');
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+-------+| ชื่อ |+-------+| คริส || David |+-------+2 แถวในชุด (0.04 วินาที) ตกลง ตกลง 0 แถวได้รับผลกระทบ 1 คำเตือน (0.07 วินาที)