这个顺序没有保证 ------解决方案-------------------- 建议加主键,然后再获取,只有使用ORDER BY 才能唯一保证顺序 ------解决方案-------------------- 用游标来做
--例: DECLARE MyCursor CURSOR SCROLL FOR SELECT Name,PinYin FROM tb_Account WHERE Type=0; -----打开游标----- OPEN MyCurSor; -----提取数据----- --INTO:字段1, :字段2, :字段3; --提取游标中的第一行 FETCH FIRST FROM MyCursor; --提取游标中的上一行 FETCH PRIOR FROM MyCursor; --提取游标中的下一行 FETCH NEXT FROM MyCursor --提取游标中第n行 如果 n 为正整数,则提取游标中从第 1 行开始的第 n 行。如果 n 为负整数,则提取游标中的倒数第 n 行。如果 n 为 0,则不提取行。 FETCH ABSOLUTE 10 FROM MyCursor; --提取游标中的最后一行 FETCH LAST FROM MyCursor; --提取游标中从上一个提取行数起的第 n 行。如果 n 为正数,则提取上一个提取行后面的第 n 行。如果 n 为负数,则提取上一个提取行前面的第 n 行。如果 n 为 0,则再次提取同一行。 FETCH RELATIVE 1 FROM MyCursor; --1声明变明,2接收游标数据 3显示数据 DECLARE @TempName varchar(20), @TempCode varchar(20); FETCH NEXT FROM MyCursor INTO @TempName,@TempCode WHILE (@@FETCH_STATUS = 0) BEGIN SELECT @TempName AS Name, @TempCode AS Code FETCH NEXT FROM MyCursor INTO @TempName,@TempCode; END -----关闭游标----- CLOSE MyCurSor; -----删除游标----- deallocate MyCurSor