MySQL輪回語句之while輪回測試。本站提示廣大學習愛好者:(MySQL輪回語句之while輪回測試)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL輪回語句之while輪回測試正文
mysql 操作異樣有輪回語句操作,網上說有3中尺度的輪回方法: while 輪回 、 loop 輪回和repeat輪回。還有一種非尺度的輪回: goto。 鑒於goto 語句的騰躍性會形成應用的的思想凌亂,所以不建議應用。
這幾個輪回語句的格局以下:
WHILE……DO……END WHILE
REPEAT……UNTIL END REPEAT
LOOP……END LOOP
GOTO。
今朝我只測試了 while 輪回:
delimiter $$ // 界說停止符為 $$ drop procedure if exists wk; // 刪除 已有的 存儲進程 create procedure wk() // 創立新的存儲進程 begin declare i int; // 變量聲明 set i = 1; while i < 11 do // 輪回體 insert into user_profile (uid) values (i); set i = i +1; end while; end $$ // 停止界說語句 // 挪用 delimiter ; // 先把停止符 答復為; call wk();
delimter : mysql 默許的 delimiter是; 告知mysql說明器,該段敕令能否曾經停止了,mysql能否可以履行了。
這裡應用 delimiter 重界說停止符的感化是: 不讓存儲進程中的語句在界說的時刻輸入。
創立 MySQL 存儲進程的簡略語法為:
CREATE PROCEDURE 存儲進程稱號( [in | out | inout] 參數 ) BEGIN Mysql 語句 END
挪用存儲進程:
call 存儲進程稱號() // 稱號前面要加()
<span >二 、 REPEAT 輪回</span>
<pre name="code" class="html">delimiter // drop procedure if exists looppc; create procedure looppc() begin declare i int; set i = 1; repeat insert into user_profile_company (uid) values (i+1); set i = i + 1; until i >= 20 end repeat; end // ---- 挪用 call looppc()
3、 LOOP 輪回
delimiter $$ drop procedure if exists lopp; create procedure lopp() begin declare i int ; set i = 1; lp1 : LOOP // lp1 為輪回體稱號 LOOP 為症結字insert into user_profile (uid) values (i); set i = i+1; if i > 30 then leave lp1; // 分開輪回體 end if; end LOOP; // 停止輪回 end $$