MySQL 中的三中循環 while loop repeat 的基本用法

 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
相關文章
相關標籤/搜索