declare @n int,@m int
set @n = 2
set @m = 0
while @m <=@n
begin
SELECT cno,Id, RelatedId,acttype,keeptime
FROM ClientActs
WHERE (CONVERT(datetime, ActTime) BETWEEN CONVERT(datetime, 
      '2006-06-27 09:00:00') AND DATEADD(mi, @m*30, '2006-06-27 09:00:00')) and cno ='8610000002002'
and acttype in (0,1)
end 
set @m = @m+1
死循环

解决方案 »

  1.   

    declare @n int,@m int
    set @n = 2
    set @m = 0
    while @m <=@n
    begin
    SELECT cno,Id, RelatedId,acttype,keeptime
    FROM ClientActs
    WHERE (CONVERT(datetime, ActTime) BETWEEN CONVERT(datetime, 
          '2006-06-27 09:00:00') AND DATEADD(mi, @m*30, '2006-06-27 09:00:00')) and cno ='8610000002002'
    and acttype in (0,1)
      set @m = @m+1  --变量要放在循环里面
    end 
      

  2.   

    set @m=@m+1放到 begin...end 裡面
      

  3.   

    set @m = @m+1end