sql循环多行数据,遍历sql查询结果,sql遍历查询结果

      --查询表B,把查询到的数据插入临时表#A中,根据表B 的ID 进行排序;表#A中 的 i  字段 由1开始增加排序;

       SELECT ROW_NUMBER() OVER ( ORDER BY ID ) i,* INTO #A FROM B 
        DECLARE @count INT;
       SELECT @count=COUNT(1) FROM #A      --获取临时表#A 的总数量,用来循环;        
       DECLARE @i INT=1;
       WHILE(@i<=@count)                                  --循坏
                BEGIN
                          DECLARE @a_id INT;

                            --根据自增1的  i  字段进行对表 #A 进行查询,得到 ID;  
                           SELECT @a_id=ID FROM #A  WHERE i=@i        

                            --输出ID;    

                           PRINT @a_id                                          

                            --此处进行各种自己想要的操作。
                            --避免死循环 @i +1;
                            SET @i=@i+1;                                
                 END

        --千万要记得删除临时表 #A,否则下次执行会报错:“数据库中已存在名为'#A' 的对象”。
        DROP TABLE #A                               

posted @ 2019-04-18 19:02  月上松树梢  阅读(18410)  评论(0编辑  收藏  举报