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

เรียกกระบวนงานที่เก็บไว้ภายในกระบวนงานที่เก็บไว้ด้วย IF Logic?


ในการเรียกกระบวนงานที่เก็บไว้ภายในกระบวนงานที่เก็บไว้ ไวยากรณ์จะเป็นดังนี้ -

ถ้า yourInputValue> 100 ให้เรียก yourProcedureName1(); อื่นเรียก yourProcedureName2(); สิ้นสุด ถ้า; สิ้นสุด

ให้เราใช้ไวยากรณ์ข้างต้น เพื่อนำแนวคิดข้างต้นไปใช้ ให้เราสร้างกระบวนงานที่เก็บไว้ -

mysql> ตัวคั่น //mysql> สร้างโพรซีเดอร์ Hello_Stored_Procedure() -> BEGIN -> เลือก 'Hello World!!!'; -> END -> //แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.18 วินาที)

แบบสอบถามเพื่อสร้างขั้นตอนการจัดเก็บที่สองมีดังนี้ -

mysql> สร้างโพรซีเดอร์ Hi_Stored_Procedure() -> BEGIN -> เลือก 'Hi!!!'; -> END -> //แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.17 วินาที)

นี่คือแบบสอบถามเพื่อเรียกกระบวนงานที่เก็บไว้ภายในกระบวนงานที่เก็บไว้ด้วยตรรกะ IF -

mysql> DELIMITER //mysql> สร้างการทดสอบโพรซีเดอร์ (IN input int) -> BEGIN -> ถ้าอินพุต> 100 แล้ว -> เรียก Hello_Stored_Procedure(); -> อื่น -> โทร Hi_Stored_Procedure(); -> สิ้นสุดถ้า; -> END -> //แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.18 วินาที)

ตอนนี้คุณสามารถเรียกกระบวนงานที่เก็บไว้ด้วยความช่วยเหลือของการโทร -

mysql> ตัวคั่น;mysql> การทดสอบการโทร (110);

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

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