mssql 與 mysql教程 中while語句使用方法
while的使用水平能夠有些協助。
while boolean_expression
{ sql_statement | statement_block }
[ break ]
{ sql_statement | statement_block }
[ continue ]
參數
boolean_expression
返回 true 或 false 的運算式。如果布林運算式中含有 select 語句,必須用圓括弧將 select 語句括起來。
{sql_statement | statement_block}
transact-sql 語句或用語句塊定義的語句分組。若要定義語句塊,請使用控制流程關鍵字 begin 和 end。
break
導致從最內層的 while 迴圈中退出。將執行出現在 end 關鍵字後面的任何語句,end 關鍵字為迴圈結束標記。
continue
使 while 迴圈重新開始執行,忽略 continue 關鍵字後的任何語句
文章轉載自網管之家:http://www.bitscn.com/pdb/mssql/201010/191381.html
範例程式碼:
代碼如下:
declare @a int
set @a = 1
while @a<25
begin
insert into demotable (id,item1,item2) values (@a,"abc","123")
set @a = @a + 1
end
mysql中,使用while迴圈處理資料方法:需要建立為預存程序,直接調用執行預存程序。
範例程式碼:
代碼如下:
create definer=`root`@`localhost` procedure `newprocedure`()
begin
declare i int;
set i=1;
while i<100 do
insert into demotable (id,item1,item2) values (i,"測試試題","0");
set i = i + 1;
end while;
end;
執行個體二
mysql>
mysql> delimiter $$
mysql>
mysql> create procedure myproc()
-> begin
->
-> declare i int;
-> set i=1;
-> loop1: while i<=10 do
-> if mod(i,2)<>0 then /*even number - try again*/
-> select concat(i," is an odd number");
-> end if;
-> set i=i+1;
-> end while loop1;
-> end$$
query ok, 0 rows affected (0.00 sec)
mysql>
mysql> delimiter ;
mysql> call myproc();