zoukankan      html  css  js  c++  java
  • Select的迭代方法

    --迭代方法
    DECLARE @ManagerStringCode VARCHAR(100)
    DECLARE @TeamStringCode VARCHAR(100)
    declare @cSalesUserID NVARCHAR(12)

    SET @ManagerStringCode = ''
    SET @TeamStringCode = ''
    --SET @cSalesUserID = 'AndyLau'
    SET @cSalesUserID = 'LAWRENCEKOK'

    SELECT @ManagerStringCode = @ManagerStringCode +
        (CASE WHEN CHARINDEX(SalesManger.dmb_cMemberUserID, @ManagerStringCode) >0 THEN '' ELSE (SalesManger.dmb_cMemberUserID + ';') end)
        , @TeamStringCode = @TeamStringCode + RTRIM(SalesManger.dmb_cTeamCode) + ';'
    FROM DeptTeamMember_dmb Sales WITH(NOLOCK)
    LEFT JOIN DeptTeamMember_dmb SalesManger on SalesManger.dmb_cDeptCode = 'SAL'
       WHERE Sales.dmb_cMemberUserID =@cSalesUserID
    AND Sales.dmb_cTeamCode = SalesManger.dmb_cTeamCode and SalesManger.dmb_cMemberType = 'L'
    AND Sales.dmb_cDeptCode = 'SAL'

    IF LEN(@ManagerStringCode)>0
    SET @ManagerStringCode = LEFT(@ManagerStringCode,LEN(@ManagerStringCode)-1)

    SELECT @ManagerStringCode, @TeamStringCode

    ----迭代方法

    --Cursor方法
    Declare @SalesManger Nvarchar(12)
    Declare @ManagerStringCode VARCHAR(100)
    Declare @Separator varchar(2)
    SET @Separator = ';'

    declare @cSalesUserID NVARCHAR(12)

    SET @cSalesUserID = 'LAWRENCEKOK'

    Declare SalesMangerCursor Cursor For
    Select SalesManger.dmb_cMemberUserID
    From DeptTeamMember_dmb Sales
    left join DeptTeamMember_dmb SalesManger on SalesManger.dmb_cDeptCode = 'SAL'
    Where Sales.dmb_cMemberUserID = @cSalesUserID
    and Sales.dmb_cTeamCode = SalesManger.dmb_cTeamCode and SalesManger.dmb_cMemberType = 'L'
    AND Sales.dmb_cDeptCode = 'SAL'

    Open SalesMangerCursor

    FETCH NEXT FROM SalesMangerCursor INTO @SalesManger

    WHILE (@@FETCH_STATUS = 0)
    Begin
    Select @ManagerStringCode = dbo.ufn_SerialString(@ManagerStringCode,@SalesManger,@Separator)

    FETCH NEXT FROM SalesMangerCursor INTO @SalesManger
    END

    CLOSE SalesMangerCursor
    DEALLOCATE SalesMangerCursor

    SELECT @ManagerStringCode

    --Cursor方法

  • 相关阅读:
    vim常用命令
    re正则表达式
    time和datetime
    airtestpython连接airtest及生产报告
    Java中的监视器(monitor)是什么?
    CentOS6.9安装MySQL5.7
    CentOS6不能使用yum问题修复:Cannot find a valid baseurl for repo: base
    谁说BI是新兴的有前途的技术,说穿了,就是原来的报表系统
    Trained myself of Informatica 6.0 (part 2 Installation).
    开始看lcc编译器的实现。---跟.net暂时扯不上关系。
  • 原文地址:https://www.cnblogs.com/guyuehuanhuan/p/1942268.html
Copyright © 2011-2022 走看看