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

จะวนซ้ำผ่านกระบวนงานที่เก็บไว้ใน MySQL ได้อย่างไร


ให้เราดูวิธีการวนรอบกระบวนงานที่เก็บไว้ใน MySQL

mysql> DELIMITER //mysql> CREATE PROCEDURE do_WhileDemo (LastValue INT) -> BEGIN -> SET @loop =0; -> ทำซ้ำ -> SET @loop=@loop+ 1; -> เลือก @loop; -> จนถึง @loop>
LastValue -> END REPEAT; -> END //แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.17 วินาที) mysql> DELIMITER;

ตอนนี้เรียกกระบวนงานที่เก็บไว้ด้วยความช่วยเหลือของคำสั่ง CALL

แบบสอบถามมีดังนี้

mysql> โทร do_WhileDemo(10);

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+-------+| @loop |+-------+| 1 |+-------+1 แถวในชุด (0.00 วินาที)+-------+| @loop |+-------+| 2 |+------- +1 แถวในชุด (0.01 วินาที)+-------+| @loop |+-------+| 3 |+-------+1 แถวในชุด (0.02 วินาที)+-------+| @loop |+-------+| 4 |+-------+1 แถวในชุด (0.03 วินาที)+-------+| @loop |+-------+| 5 |+------- +1 แถวในชุด (0.04 วินาที)+-------+| @loop |+-------+| 6 |+------- +1 แถวในชุด (0.04 วินาที)+-------+| @loop |+-------+| 7 |+-------+1 แถวในชุด (0.05 วินาที)+-------+| @loop |+-------+| 8 |+-------+1 แถวในชุด (0.06 วินาที)+-------+| @loop |+-------+| 9 |+------- +1 แถวในชุด (0.07 วินาที)+-------+| @loop |+-------+| 10 |+------- +1 แถวในชุด (0.08 วินาที)+-------+| @loop |+-------+| 11 |+-------+1 แถวในชุด (0.09 วินาที)แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.10 วินาที)