zoukankan      html  css  js  c++  java
  • 游标替代


    USE TEST

    GO

    CREATE TABLE LX1(
    INT_I
    INT,
    VAR_A
    VARCHAR(32),
    VAR_B
    VARCHAR(32)
    )

    GO

    INSERT INTO LX1 VALUES(1,'A','E')
    INSERT INTO LX1 VALUES(2,'B','F')
    INSERT INTO LX1 VALUES(3,'C','G')
    INSERT INTO LX1 VALUES(4,'D','H')

    GO

    ---------------------------
    --
    原表能确定唯一的单一主键。
    --
    如果是多主键,可以在表变量中添加自增字段(IDENTITY)或字符型的组合字段( KEY1 + '|' + KEY2 + '| + KEY3 ... ) 。
    --
    -------------------------
    DECLARE @INT_I INT
    DECLARE @VAR_A VARCHAR(32)
    DECLARE @VAR_B VARCHAR(32)

    DECLARE @TAB_LX TABLE (INT_I INT,VAR_A VARCHAR(32),VAR_B VARCHAR(32))
    INSERT INTO @TAB_LX SELECT * FROM LX1
    SELECT @INT_I=MIN(INT_I) FROM @TAB_LX
    WHILE NOT @INT_I IS NULL BEGIN
       
    SELECT @VAR_A=VAR_A,@VAR_B=VAR_B FROM @TAB_LX WHERE INT_I=@INT_I
       
       
    --提取值
        PRINT @VAR_A + '   '  + @VAR_B
       
       
    SELECT @INT_I=MIN(INT_I) FROM LX1 WHERE INT_I>@INT_I
    END

    GO

    ---------------------------
    --
    原表没有唯一主键
    --
    可在表变量中添加一个自增编号。
    --
    -------------------------
    DECLARE @INT_ID INT
    DECLARE @VAR_A VARCHAR(32)
    DECLARE @VAR_B VARCHAR(32)

    DECLARE @TAB_LX TABLE (INT_ID INT IDENTITY(1,1) ,INT_I INT,VAR_A VARCHAR(32),VAR_B VARCHAR(32))

    INSERT INTO @TAB_LX (INT_I,VAR_A,VAR_B) SELECT * FROM LX1
    SELECT @INT_ID=MIN(INT_ID) FROM @TAB_LX
    WHILE NOT @INT_ID IS NULL BEGIN
       
    SELECT @VAR_A=VAR_A,@VAR_B=VAR_B FROM @TAB_LX WHERE INT_ID=@INT_ID
       
       
    ---提取值。
        PRINT @VAR_A + '   '  + @VAR_B
       
       
    SELECT @INT_ID=MIN(INT_ID) FROM @TAB_LX WHERE INT_ID>@INT_ID
    END

    GO
  • 相关阅读:
    Git报错:remote: HTTP Basic: Access denied的解决方法
    扩展模块之ConfigParser模块
    pyftplib
    kafka
    Android MarqueeTextView : 轻松实现文本滚动(跑马灯)效果
    nx
    ScorpionX-RX-64
    SDWebImage源码解读
    iOS 性能优化及AFNetworking源码解析
    vue使用g6做流程图
  • 原文地址:https://www.cnblogs.com/jes_shaw/p/1595610.html
Copyright © 2011-2022 走看看