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();