declare @begin char(11)
declare @end char(11)
declare @area char(10)
declare @usernumber char(11)
declare MyCursor cursor for
SELECT 手机号 from 手机号码表
OPEN MyCursor
FETCH NEXT FROM MyCursor into @usernumber
WHILE @@FETCH_STATUS = 0
BEGIN     
       DECLARE MY  cursor for
       SELECT 开始手机号,结束手机号,地市 FROM 有效手机号段表
       OPEN MY
       FETCH next FROM MY into @begin,@end,@area
       WHILE @@FETCH_STATUS = 0
       BEGIN          
                IF (@usernumber>@begin) AND (@usernumber<@end)
                BEGIN
                  update 手机号码表 set 地市=@area where usernumber=@usernumber
                  break
                END
                ELSE
                BEGIN
                     PRINT 'B'
                END
               FETCH NEXT FROM MY into @begin,@end,@area
       END
    CLOSE MY
       DEALLOCATE MY
FETCH NEXT FROM MyCursor into @usernumber  
END
CLOSE MyCursor
DEALLOCATE MyCursor 

解决方案 »

  1.   

    declare @begin char(11)
    declare @end char(11)
    declare @area char(10)
    declare @usernumber char(11)
    declare MyCursor cursor for
           SELECT 手机号 from 手机号码表
    DECLARE MY  cursor for
           SELECT 开始手机号,结束手机号,地市 FROM 有效手机号段表
           
    OPEN MyCursor
    FETCH NEXT FROM MyCursor into @usernumber
    WHILE @@FETCH_STATUS = 0
    BEGIN     
           OPEN MY
           FETCH next FROM MY into @begin,@end,@area
           WHILE @@FETCH_STATUS = 0
           BEGIN          
                    IF (@usernumber>@begin) AND (@usernumber<@end)
                    BEGIN
                      update 手机号码表 set 地市=@area where usernumber=@usernumber
                      break
                    END
                    ELSE
                    BEGIN
                         PRINT 'B'
                    END
                   FETCH NEXT FROM MY into @begin,@end,@area
           END
           CLOSE MY
    FETCH NEXT FROM MyCursor into @usernumber  
    END
    DEALLOCATE MY
    CLOSE MyCursor
    DEALLOCATE MyCursor