sql - 如何在 SQL Server 中循环访问一组记录?

标签 sql sql-server loops

如何从 select 语句中循环访问一组记录?

假设我有一些记录,我希望循环遍历并对每条记录执行一些操作。这是我的 select 语句的原始版本:

select top 1000 * from dbo.table
where StatusID = 7

最佳答案

通过使用 T-SQL 和游标,如下所示:

DECLARE @MyCursor CURSOR;
DECLARE @MyField YourFieldDataType;
BEGIN
    SET @MyCursor = CURSOR FOR
    select top 1000 YourField from dbo.table
        where StatusID = 7      

    OPEN @MyCursor 
    FETCH NEXT FROM @MyCursor 
    INTO @MyField

    WHILE @@FETCH_STATUS = 0
    BEGIN
      /*
         YOUR ALGORITHM GOES HERE   
      */
      FETCH NEXT FROM @MyCursor 
      INTO @MyField 
    END; 

    CLOSE @MyCursor ;
    DEALLOCATE @MyCursor;
END;

关于sql - 如何在 SQL Server 中循环访问一组记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20662356/

相关文章:

sql - DELETE 查询性能

sql - CTE中查询的计算字段很慢,如何优化

sql - 在 sql 中使用 UNIONS 时使用整体 WHERE 子句

sql-server - SSIS 2012 - 条件 header 的位置

sql - 如何将 DateTime 转换为 VarChar

python - 如何在 python 中使用循环有效地进行特征工程?

java - 嵌套循环打印一个数字,旁边有相同数量的星号

java - 使用 save() Play Framework JPA 问题

asp.net - sql server 中 oracle 的 number(2,0) 的替代方案是什么?

java - 查看fxml里面的逻辑(特别是迭代)