zoukankan      html  css  js  c++  java
  • SqlServer中游标的使用

    使用了一个游标,并分解一个字符串:

    DECLARE @flag NVARCHAR(50),@i INT
    DECLARE @r1 NVARCHAR(50),@r2 NVARCHAR(50),@assay NVARCHAR(50)
    SET @flag='20100427181006'
    SET @assay=''

    --使用游标
    DECLARE getAssayValue CURSOR FOR
        SELECT ASSAY FROM dbo.KH_SampleBarcode1  WHERE POSITIONBC NOT IN (SELECT BCNAME FROM dbo.KH_BarCode) AND FLAG=@flag
    OPEN getAssayValue
    FETCH NEXT FROM getAssayValue INTO @r1
    WHILE @@FETCH_STATUS<>-1
    BEGIN
        IF @assay=''
            SET @assay=@r1
        ELSE
        BEGIN
            --以下对字符串做的分解,相当于一个Split方法
            SET @i=CHARINDEX(';',@r1)
            IF @i>0
            BEGIN
                WHILE @i>0
                BEGIN
                    SET @r2=LEFT(@r1, @i-1)
                    IF CHARINDEX(@r2, @assay)<=0
                        SET @assay=@assay+';'+@r2
                    SET @r1=SUBSTRING(@r1, @i+1, LEN(@r1)-@i)
                    SET @i=CHARINDEX(';',@r1)
                END
            END
            ELSE
                IF CHARINDEX(@r1, @assay)<=0
                    SET @assay=@assay+';'+@r1
        END
        FETCH NEXT FROM getAssayValue INTO @r1
    END

    CLOSE getAssayValue
    DEALLOCATE getAssayValue
    PRINT @assay

  • 相关阅读:
    PCL利用RANSAC自行拟合分割平面
    HDU 3062 && HDU 1824 && POJ 3678 && BZOJ 1997 2-SAT
    BZOJ 3670 && BZOJ 3620 && BZOJ 3942 KMP
    BZOJ 1500 Splay 全操作
    Manacher
    POJ 2155 2维线段树 || 2维BIT
    BZOJ 1015 并查集+离线倒序
    NOI Linux JAVA
    UVA 10407 差分思想的运用
    BZOJ 1969 树链剖分+Tarjan缩点
  • 原文地址:https://www.cnblogs.com/wjhx/p/1724009.html
Copyright © 2011-2022 走看看