1 -- MySQL中的三中循環 while 、 loop 、repeat 求 1-n 的和 2 3 4 5 -- 第一種 while 循環 6 -- 求 1-n 的和 7 /* while循環語法: 8 while 條件 DO 9 循環體; 10 end while; 11 */ 12 -- 實例: 13 create procedure sum1(a int) 14 begin 15 declare sum int default 0; -- default 是指定該變量的默認值 16 declare i int default 1; 17 while i<=a DO -- 循環開始 18 set sum=sum+i; 19 set i=i+1; 20 end while; -- 循環結束 21 select sum; -- 輸出結果 22 end 23 -- 執行存儲過程 24 call sum1(100); 25 -- 刪除存儲過程 26 drop procedure if exists sum1 27 28 -- 第二種 loop 循環 29 /*loop 循環語法: 30 loop_name:loop 31 if 條件 THEN -- 知足條件時離開循環 32 leave loop_name; -- 和 break 差很少都是結束訓話 33 end if; 34 end loop; 35 */ 36 37 -- 實例: 38 create procedure sum2(a int) 39 begin 40 declare sum int default 0; 41 declare i int default 1; 42 loop_name:loop -- 循環開始 43 if i>a then 44 leave loop_name; -- 判斷條件成立則結束循環 比如java中的 boeak 45 end if; 46 set sum=sum+i; 47 set i=i+1; 48 end loop; -- 循環結束 49 select sum; -- 輸出結果 50 end 51 -- 執行存儲過程 52 call sum2(100); 53 -- 刪除存儲過程 54 drop procedure if exists sum2 55 56 57 -- 第三種 repeat 循環 58 /*repeat 循環語法 59 repeat 60 循環體 61 until 條件 end repeat; 62 */ 63 64 65 -- 實例; 66 create procedure sum3(a int) 67 begin 68 declare sum int default 0; 69 declare i int default 1; 70 repeat -- 循環開始 71 set sum=sum+i; 72 set i=i+1; 73 until i>a end repeat; -- 循環結束 74 select sum; -- 輸出結果 75 end 76 77 -- 執行存儲過程 78 call sum3(100); 79 -- 刪除存儲過程 80 drop procedure if exists sum3