เรามาสร้างตารางกันก่อน
mysql> สร้างตาราง LimitWithStoredProcedure -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(10) -> );Query OK, 0 แถวได้รับผลกระทบ (0.47 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่ง insert
แบบสอบถามมีดังนี้
mysql> แทรกลงในค่า LimitWithStoredProcedure(Name) ('John');Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า LimitWithStoredProcedure(Name) ('Chris'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.15 วินาที) mysql> แทรกลงในค่า LimitWithStoredProcedure (ชื่อ) ('Maxwell'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.28 วินาที) mysql> แทรกลงในค่า LimitWithStoredProcedure (ชื่อ) ('Bob'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.24 วินาที) mysql> แทรกลงในค่า LimitWithStoredProcedure (ชื่อ) ('David'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า LimitWithStoredProcedure (ชื่อ) ('Carol'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.18 วินาที) mysql> แทรกลงในค่า LimitWithStoredProcedure (ชื่อ) ('James'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.29 วินาที) mysql> แทรกลงในค่า LimitWithStoredProcedure (ชื่อ) ('Jace'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.13 วินาที) mysql> แทรกลงในค่า LimitWithStoredProcedure (ชื่อ) ('Robert'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า LimitWithStoredProcedure (ชื่อ) ('ไมค์'); แบบสอบถามตกลงมีผล 1 แถว ed (0.07 วินาที)mysql> แทรกลงในค่า LimitWithStoredProcedure (ชื่อ) ('Sam'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.25 วินาที) mysql> แทรกลงในค่า LimitWithStoredProcedure (ชื่อ) ('Peter'); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า LimitWithStoredProcedure (ชื่อ) ('Ramit'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า LimitWithStoredProcedure (ชื่อ) ('Tony'); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.16 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select
แบบสอบถามมีดังนี้
mysql> เลือก *จาก LimitWithStoredProcedure;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+----+---------+| รหัส | ชื่อ |+----+---------+| 1 | จอห์น || 2 | คริส || 3 | แม็กซ์เวลล์ || 4 | บ๊อบ || 5 | เดวิด || 6 | แครอล || 7 | เจมส์ || 8 | เจซ || 9 | โรเบิร์ต || 10 | ไมค์ || 11 | แซม || 12 | ปีเตอร์ || 13 | รมิท || 14 | Tony |+----+---------+14 แถวในชุด (0.00 วินาที)นี่คือขั้นตอนการจัดเก็บของคุณโดยใช้ตัวแปรในนิพจน์ LIMIT
mysql> DELIMITER //mysql> CREATE PROCEDURE Sp_limit(IN beg INTEGER, IN end INTEGER ) -> BEGIN -> PREPARE myStatement FROM -> "select *from LimitWithStoredProcedure LIMIT ?,? "; -> SET @beginning =ขอ; -> SET @ending =end; -> ดำเนินการ myStatement โดยใช้ @beginning, @ending; -> DEALLOCATE เตรียม myStatement; -> END //แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.25 วินาที) mysql> DELIMITER;
เรียกใช้กระบวนงานที่เก็บไว้โดยใช้คำสั่ง CALL
แบบสอบถามมีดังนี้
mysql> โทร Sp_limit(4,7);
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+----+---------+| รหัส | ชื่อ |+----+--------+| 5 | เดวิด || 6 | แครอล || 7 | เจมส์ || 8 | เจซ || 9 | โรเบิร์ต || 10 | ไมค์ || 11 | แซม |+----+--------+7 แถวในชุด (0.00 วินาที) แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.03 วินาที)