有表Client_Temp,其中有字段 UpdateOrInsert 类型为 int
要求:
先SELECT * FROM Client_Temp 
WHERE UserID =2009 AND UpdateOrInsert <>2结果可能为N条,然后开始循环,从第一条开始,BEGIN
  IF UpdateOrInsert = 0
  BEGIN
  --余下的操作俺自个来,呵呵。
  END  IF UpdateOrInsert = 1
  BEGIN
  --余下的操作俺自个来,呵呵。
  END
END

解决方案 »

  1.   

    declare @UpdateOrInsert int
    DECLARE cursor1 CURSOR    --声明游标
     FOR SELECT UpdateOrInsert FROM Client_Temp  
                WHERE UserID =2009 AND UpdateOrInsert <>2OPEN cursor1    --打开游标FETCH NEXT FROM cursor1    --获取游标的下一行数据into @UpdateOrInsert    --使变量获得当前游标指定行的UpdateOrInsertWHILE @@FETCH_STATUS = 0    --FETCH语句执行成功
    BEGIN
       if @UpdateOrInsert=0
        begin
           ---你的操作
        end
        
    FETCH NEXT FROM cursor1     --获取游标的下一行
         into @ids,@names    --使变量获得当前游标指定行的UpdateOrInsertEnd
    CLOSE cursor1    --关闭游标
    DEALLOCATE cursor1   --释放游标 
      

  2.   

    如果你那个"余下的操作",会更改 userid 或 updateorinsert,那可以直接用它来判断而不要用游标:begin
    while exists(select 1 from client_temp where userid=2009 and updateorinsert=0)
    begin
    这儿你写
    endwhile exists(select 1 from client_temp where userid=2009 and updateorinsert=1)
    begin
    这儿你写
    end
    end