--while,continue,break用法declare @i int
set @i=1
while @i<20
begin
 set @i=@i+1
 if @i<=19
 continue
 print @i
enddeclare @i int
set @i=1
while @i<20
begin
 if @i=19
 break
 print @i
 set @i=@i+1
end

解决方案 »

  1.   

    sql server用t-sql,比如while:while @i <=20
    begin
       你的语句
    end
      

  2.   

    while,还有if else
    declare @temp table(schematable varchar(100))declare @tablename varchar(100)insert into @temp
    (schematable)
    select s.name + '.' + t.name
    from sys.tables t
    inner join sys.schemas s
            on t.schema_id = s.schema_id
    where t.type_desc = 'User_table'--while循环结构
    while (select COUNT(*) from @temp ) > 0
    begin

    select top (1) @tablename = schematable
    from @temp

    exec sp_spaceused @tablename;  --输出当前数据库中每个表的空间使用情况

    delete from @temp
    where schematable = @tablename

    --if-else分支结构
    if( (select COUNT(*) from @temp)=0 )
    begin
        
        --延迟10秒
        waitfor delay '00:00:10'
        
    exec sp_spaceused;         --输出当前数据库的空间使用情况
            break;
        end
        else
        begin
            continue;
        end
    end
      

  3.   

    循环用while,还有一种类似循环的是游标。sqlsever的话联机丛书都有案例
      

  4.   

    IF/ELSE是流程控制,不能算入循环
      

  5.   

    多谢各位大侠的回复,是我写错了,我在while前面多加了个Do,怎么都不对。