请教个SQL的问题
请帮忙看看那里有错误
小弟SQL的基本功不是很好,请大侠们不要见笑declare @start DATETIME,@end  DATETIME,@start1 DATETIMEselect @start=2007-07-06
select @end=2007-07-31while(@start<=@end)
select @start1=DATEADD(day,1,@start)
select * from UserTable ut left outer join (select * from [PersonSignIn/OutTable]
where SignTimeM >= '@start' AND SignTimeM <= '@start1') pt on ut.UserId=pt.SignPersonId
if(@start>@end)
break
else
continue
=============
运行后报错
服务器: 消息 135,级别 15,状态 1,行 13
不能在 WHILE 语句的作用域之外使用 BREAK 语句。
服务器: 消息 136,级别 15,状态 1,行 15
不能在 WHILE 语句的作用域之外使用 CONTINUE 语句。

解决方案 »

  1.   

    忘记了一句
    请教个SQL的问题
    请帮忙看看那里有错误
    小弟SQL的基本功不是很好,请大侠们不要见笑declare @start DATETIME,@end  DATETIME,@start1 DATETIMEselect @start=2007-07-06
    select @end=2007-07-31while(@start<=@end)
    select @start1=DATEADD(day,1,@start)
    select * from UserTable ut left outer join (select * from [PersonSignIn/OutTable]
    where SignTimeM >= '@start' AND SignTimeM <= '@start1') pt on ut.UserId=pt.SignPersonIdselect @start=DATEADD(day,1,@start)
    if(@start>@end)
    break
    else
    continue
    =============
    运行后报错
    服务器: 消息 135,级别 15,状态 1,行 13
    不能在 WHILE 语句的作用域之外使用 BREAK 语句。
    服务器: 消息 136,级别 15,状态 1,行 15
    不能在 WHILE 语句的作用域之外使用 CONTINUE 语句。