ใน MySQL ไม่สามารถใช้การเลือกจากโพรซีเดอร์ในส่วนคำสั่ง FROM คุณสามารถใช้คำสั่ง CALL และหลังจากนั้นก็สามารถดำเนินการคำสั่ง SELECT ได้
ให้เราสร้างตารางก่อน:
mysql> สร้างตาราง DemoTable2 -> ( -> CustomerId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, -> CustomerName varchar(100), -> ShippingDateTime datetime -> ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.66 วินาที)
ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างกระบวนงานที่เก็บไว้:
mysql> DELIMITER //mysql> CREATE PROCEDURE insert_information (ชื่อ varchar (100) วันที่เวลาจัดส่ง) -> BEGIN -> -> INSERT INTO DemoTable2 (CustomerName,ShippingDateTime) VALUES (ชื่อ, เวลาจัดส่ง); -> END -> //แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.16 วินาที) mysql> DELIMITER;
ตอนนี้คุณสามารถเรียกกระบวนงานที่เก็บไว้โดยใช้คำสั่งโทร:
mysql> call insert_information('Chris',NOW());แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว คำเตือน 1 รายการ (0.15 วินาที)
นี่คือแบบสอบถามเพื่อแสดงบันทึกจากตารางโดยใช้คำสั่ง select หลังจากเรียกกระบวนงานที่เก็บไว้
mysql> เลือก *จาก DemoTable2;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
<ก่อนหน้า>+-----------------------------------+----------------- ----+| รหัสลูกค้า | ชื่อลูกค้า | ShippingDateTime |+--------------------+--------------------------+------------------- ---+| 1 | คริส | 2019-04-08 15:03:07 |+-----------+--------------+---------- ------------+1 แถวในชุด (0.00 วินาที)