คุณสามารถสร้างกระบวนงานที่เก็บไว้ได้โดยใช้คำสั่งสร้างขั้นตอน ไวยากรณ์มีดังนี้ −
delimiter //CREATE PROCEDURE yourStoreProcedureName()BEGIN ประกาศตัวแปรที่นี่ คำสั่งเคียวรีEND //delimiter //
ใช้ไวยากรณ์ข้างต้นเพื่อสร้างกระบวนงานที่เก็บไว้ แบบสอบถามมีดังนี้ −
mysql> ใช้การทดสอบ;ฐานข้อมูลเปลี่ยนmysql> ตัวคั่น //mysql> สร้างโพรซีเดอร์ Sp_callTableStoredProcTable() −> เริ่ม −> เลือก *จาก StoredProcTable; −> end //Query OK, 0 แถวได้รับผลกระทบ (0.54 วินาที)
ตอนนี้คุณต้องเปลี่ยนตัวคั่นด้วย; เพื่อเรียกกระบวนงานที่เก็บไว้ -
mysql> ตัวคั่น;
คุณสามารถเรียกกระบวนงานที่เก็บไว้โดยใช้คำสั่ง CALL ไวยากรณ์มีดังนี้ −
CALL yourStoredProcedureName();
กระบวนงานที่เก็บไว้ข้างต้นสามารถเรียกได้โดยใช้คำสั่ง CALL ดังแสดงในแบบสอบถามด้านล่าง -
mysql> โทร Sp_callTableStoredProcTable();
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+-----------+------+| ชื่อจริง | อายุ |+-----------+------+| จอห์น | 23 || บ๊อบ | 24 || เดวิด | 20 |+-----------+------+3 แถวในชุด (0.03 วินาที) แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.06 วินาที)ด้านบน เราได้ใช้ตาราง 'StoredProcTable' และตารางนี้มีสามระเบียน แสดงระเบียนทั้งหมดโดยใช้ขั้นตอนการจัดเก็บ
คุณสามารถตรวจสอบจำนวนระเบียนในตารางโดยใช้ขั้นตอนการจัดเก็บ -
mysql> ตัวคั่น //mysql> สร้างโพรซีเดอร์ CountingRecords() −> start −> เลือก count(*) เป็น AllRecords จาก StoredProcTable; −> end //Query OK, 0 แถวได้รับผลกระทบ (0.19 วินาที)mysql> delimiter;
เรียกกระบวนงานที่เก็บไว้โดยใช้คำสั่ง CALL แบบสอบถามมีดังนี้ −
mysql> โทร CountingRecords();
ผลลัพธ์ต่อไปนี้แสดงจำนวนระเบียน −
<ก่อนหน้า>+-----------+| AllRecords |+-----------+| 3 |+------------+1 แถวในชุด (0.31 วินาที) ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.33 วินาที)