zoukankan      html  css  js  c++  java
  • MSSQL一种取代游标的方案

    今天看到一篇文章写的自己整理记录下,据说比用游标快。

    DECLARE @字段1 数据类型;
    DECLARE @字段2 数据类型;
    
    DECLARE @TMP_WHILE_ID INT;
    SELECT TMP_WHILE_ID=IDENTITY(INT,1,1),TMP_WHILE_FLAG=0,
    
    [字段1],[字段2],...
    
    INTO #TMP_WHILE FROM [表名] WHERE [条件]....;
    
    SELECT @TMP_WHILE_ID=MIN(TMP_WHILE_ID) FROM #TMP_WHILE WHERE TMP_WHILE_FLAG=0;
    WHILE @TMP_WHILE_ID IS NOT NULL
    BEGIN
        --获取当前处理行的信息
        SELECT @字段1=字段1,@字段2=字段2,... FROM #TMP_WHILE WHERE TMP_WHILE_ID=@TMP_WHILE_ID;
        
        --<这里自己的处理过程>
        
        --标识当前行已处理完毕
        UPDATE #TMP_WHILE SET TMP_WHILE_FLAG=1 WHERE TMP_WHILE_ID=@TMP_WHILE_ID;
        --选择下一行号
        SELECT @TMP_WHILE_ID=MIN(TMP_WHILE_ID) FROM #TMP_WHILE WHERE TMP_WHILE_FLAG=0 AND TMP_WHILE_ID>@TMP_WHILE_ID;
    END
    DROP TABLE #TMP_WHILE;
  • 相关阅读:
    1组Alpha冲刺总结
    1组Beta冲刺4/5
    1组Beta冲刺5/5
    1组Alpha冲刺4/6
    1组Alpha冲刺总结
    1组Beta冲刺2/5
    1组Beta冲刺3/5
    1组Beta冲刺2/5
    1组Alpha冲刺4/6
    1组Alpha冲刺5/6
  • 原文地址:https://www.cnblogs.com/love2wllw/p/9607764.html
Copyright © 2011-2022 走看看