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

    DECLARE @COM_ID CHAR(12)
        ,@FSH_JOBNO CHAR(1000)
        ,@COT_cHSCode VARCHAR(1000)
        ,@cCustomerSNC varchar(200)
        ,@cDesc nvarchar(1000)
        ,@cInvoiceNo varchar(8000)
        ,@iPalletQty int
        ,@iQtyCarton int
        ,@engBoardingPort varchar(500)
        ,@chiBoardingPort nvarchar(500)
    if not (select object_id('Tempdb..#TEMP16U')) is null drop table #TEMP16U
    select com_cCertOriginReqID AS TEMPID,cot_cHSCode,fsh_cJobno
    ,T_JOBNOS=cast('' as NVARchar(1000)),T_HSCode=cast('' as VARchar(1000))
    ,csm_cCustomerSNC,T_cCustomerSNC=cast('' as VARchar(200))
    ,cot_cDesc,T_cDesc=cast('' as NVARchar(1000))
    ,inv_cInvoiceNo,T_cInvoiceNo=cast('' as VARchar(200))
    ,pkp_iPalletQty,T_iPalletQty=cast(0 as int)
    ,(ISNULL(pkd_iQtyCarton,0) + ISNULL(pki_iQty,0)) AS pkd_iQtyCarton,T_iQtyCarton=cast(0 as int)
    ,PB.ptm_cEngDesc AS engBoardingPort,T_engBoardingPort =cast('' as VARchar(500))
    ,PB.ptm_cChiDesc AS chiBoardingPort,T_chiBoardingPort =cast('' as NVARchar(500))
    ,pkd_cDeliveryReqID as cDeliveryReqID,Pkd_lUnitePallet
    INTO #TEMP16U
    From CertOriginReqMstr_com
    INNER JOIN CertOriginReqDtl_cot ON cot_cCertOriginReqID=com_cCertOriginReqID
    INNER JOIN InvoiceDetails_ivd ON ivd_cInvoiceID=cot_cInvoiceID AND ivd_iInvDtlID=cot_iInvoiceDtlID
    LEFT JOIN InvoiceMaster_inv ON inv_cInvoiceID=ivd_cInvoiceID
    INNER JOIN InvoiceDtlRef_ivf ON ivf_cInvoiceID=ivd_cInvoiceID AND ivf_iInvDtlID=ivd_iInvDtlID and ivf_cType = 'P'
    INNER JOIN ShipPkgLstDtl_skd ON skd_cShipPkgLstID=ivf_cRefID AND skd_iShipPkgLstDtlID=ivf_iRefDtlID
    INNER JOIN PackingListDtl_pkd ON pkd_cPkgLstID=skd_cPkgLstID AND pkd_iPackListDtlID=skd_iPackListDtlID
    left join PackingListDitto_pki on pkd_cPkgLstID=pki_cPkgLstID AND pkd_iPackListDtlID=pki_iPackListDtlID and pki_iQtyPerCarton<>0
    LEFT JOIN FGShipmentHeader_fsh ON fsh_iFGShipmentID=pkd_iFGShipmentID
    LEFT JOIN CustomerShipMstr_csm ON csm_cCustomerID=inv_cCustomerID
    LEFT JOIN (SELECT pkp_cPkgLstID,pkp_iPackListDtlID,SUM(pkp_iPalletQty) AS pkp_iPalletQty FROM PackingListPallet_pkp GROUP BY pkp_cPkgLstID,pkp_iPackListDtlID) P ON P.pkp_cPkgLstID=pkd_cPkgLstID AND P.pkp_iPackListDtlID=pkd_iPackListDtlID
    INNER JOIN PackingListMstr_pkm ON pkm_cPkgLstID=skd_cPkgLstID AND pkm_lDeduceQty=1
    LEFT JOIN ShipmentBooking_shb ON shb_cBookingID=pkm_cBookingID
    LEFT JOIN PortMstr_ptm PB ON PB.ptm_cPortID=shb_cBoardingPortID
    WHERE com_cCertOriginReqID>='COM051100486' AND com_cCertOriginReqID<='COM051100486' AND DATEDIFF(DD,'2005/11/29 00:00:00' ,com_dAddDate)>=0 AND DATEDIFF(DD,'2005/11/29 00:00:00' ,com_dAddDate)<=0
    union all
    select com_cCertOriginReqID AS TEMPID,cot_cHSCode,fsh_cJobno
    ,T_JOBNOS=cast('' as NVARchar(1000)),T_HSCode=cast('' as NVARchar(1000))
    ,csm_cCustomerSNC,T_cCustomerSNC=cast('' as VARchar(200))
    ,cot_cDesc,T_cDesc=cast('' as NVARchar(1000))
    ,inv_cInvoiceNo,T_cInvoiceNo=cast('' as VARchar(8000))
    ,pkp_iPalletQty,T_iPalletQty=cast(0 as int)
    ,pkd_iQtyCarton,T_iQtyCarton=cast(0 as int)
    ,PB.ptm_cEngDesc AS engBoardingPort,T_engBoardingPort =cast('' as VARchar(500))
    ,PB.ptm_cChiDesc AS chiBoardingPort,T_chiBoardingPort =cast('' as VARchar(500))
    ,pkd_cDeliveryReqID,Pkd_lUnitePallet
    From CertOriginReqMstr_com
    INNER JOIN CertOriginReqDtl_cot ON cot_cCertOriginReqID=com_cCertOriginReqID
    INNER JOIN InvoiceDetails_ivd ON ivd_cInvoiceID=cot_cInvoiceID AND ivd_iInvDtlID=cot_iInvoiceDtlID
    LEFT JOIN InvoiceMaster_inv ON inv_cInvoiceID=ivd_cInvoiceID
    INNER JOIN InvoiceDtlRef_ivf ON ivf_cInvoiceID=ivd_cInvoiceID AND ivf_iInvDtlID=ivd_iInvDtlID and ivf_cType = 'D'
    LEFT JOIN FGDlvyNoteDtl_fdt ON fdt_cDNoteNo=ivf_cRefID AND fdt_iDtlID=ivf_iRefDtlID
    INNER JOIN PackingListDtl_pkd ON pkd_cPkgLstID=fdt_cPkgLstID AND pkd_iPackListDtlID=fdt_iPackListDtlID
    LEFT JOIN FGShipmentHeader_fsh ON fsh_iFGShipmentID=pkd_iFGShipmentID
    LEFT JOIN CustomerShipMstr_csm ON csm_cCustomerID=inv_cCustomerID
    LEFT JOIN (SELECT pkp_cPkgLstID,pkp_iPackListDtlID,SUM(pkp_iPalletQty) AS pkp_iPalletQty FROM PackingListPallet_pkp GROUP BY pkp_cPkgLstID,pkp_iPackListDtlID) P ON P.pkp_cPkgLstID=pkd_cPkgLstID AND P.pkp_iPackListDtlID=pkd_iPackListDtlID
    INNER JOIN PackingListMstr_pkm ON pkm_cPkgLstID=fdt_cPkgLstID AND pkm_lDeduceQty=1
    LEFT JOIN ShipmentBooking_shb ON shb_cBookingID=pkm_cBookingID
    LEFT JOIN PortMstr_ptm PB ON ptm_cPortID=shb_cBoardingPortID
    WHERE com_cCertOriginReqID>='COM051100486' AND com_cCertOriginReqID<='COM051100486' AND DATEDIFF(DD,'2005/11/29 00:00:00' ,com_dAddDate)>=0 AND DATEDIFF(DD,'2005/11/29 00:00:00' ,com_dAddDate)<=0
    union all
    select com_cCertOriginReqID AS TEMPID,cot_cHSCode,bam_cJobno
    ,T_JOBNOS=cast('' as NVARchar(1000)),T_HSCode=cast('' as NVARchar(1000))
    ,csm_cCustomerSNC,T_cCustomerSNC=cast('' as VARchar(200))
    ,cot_cDesc,T_cDesc=cast('' as NVARchar(1000))
    ,inv_cInvoiceNo,T_cInvoiceNo=cast('' as VARchar(8000))
    ,0 as pkp_iPalletQty,0 as T_iPalletQty
    ,0 as pkd_iQtyCarton,0 as T_iQtyCarton
    ,'' AS engBoardingPort,'' as T_engBoardingPort
    ,'' AS chiBoardingPort,'' as T_chiBoardingPort
    ,'' as cDeliveryReqID,'' as Pkd_lUnitePallet
    From CertOriginReqMstr_com
    INNER JOIN CertOriginReqDtl_cot ON cot_cCertOriginReqID=com_cCertOriginReqID
    INNER JOIN InvoiceDetails_ivd ON ivd_cInvoiceID=cot_cInvoiceID AND ivd_iInvDtlID=cot_iInvoiceDtlID
    LEFT JOIN InvoiceMaster_inv ON inv_cInvoiceID=ivd_cInvoiceID
    INNER JOIN InvoiceDtlRef_ivf ON ivf_cInvoiceID=ivd_cInvoiceID AND ivf_iInvDtlID=ivd_iInvDtlID and ivf_cType = 'A'
    LEFT JOIN BillingAdvDtl_bad ON bad_cBillAdvID=ivf_cRefID AND bad_iBillAdvDtlID=ivf_iRefDtlID
    LEFT JOIN BillingAdvMstr_bam ON bam_cBillAdvID=bad_cBillAdvID
    LEFT JOIN CustomerShipMstr_csm ON csm_cCustomerID=inv_cCustomerID
    WHERE com_cCertOriginReqID>='COM051100486' AND com_cCertOriginReqID<='COM051100486' AND DATEDIFF(DD,'2005/11/29 00:00:00' ,com_dAddDate)>=0 AND DATEDIFF(DD,'2005/11/29 00:00:00' ,com_dAddDate)<=0

    --select * from #TEMP16U

    update #TEMP16U set TEMPID = 'COMTest1' Where fsh_cJobno = '72666'
    update #TEMP16U set TEMPID = 'COMTest2' Where fsh_cJobno = '72665'

    select * from #TEMP16U

    update #TEMP16U set @FSH_JOBNO=case @COM_ID when TEMPID then dbo.ufn_SerialString(@FSH_JOBNO,fsh_cJobno,'/') else RTRIM(isnull(fsh_cJobno,'')) end,T_JOBNOS=@FSH_JOBNO
               ,@COT_cHSCode=case @COM_ID when TEMPID then dbo.ufn_SerialString(@COT_cHSCode,cot_cHSCode,'/') else RTRIM(isnull(cot_cHSCode,'')) end,T_HSCode=@COT_cHSCode
    ,@cCustomerSNC=case @COM_ID when TEMPID then dbo.ufn_SerialString(@cCustomerSNC,csm_cCustomerSNC,'/') else RTRIM(isnull(csm_cCustomerSNC,'')) end,T_cCustomerSNC=@cCustomerSNC
    ,@cDesc=case @COM_ID when TEMPID then dbo.ufn_SerialString(@cDesc,cot_cDesc,'/') else RTRIM(isnull(cot_cDesc,'')) end,T_cDesc=@cDesc
    ,@cInvoiceNo=case @COM_ID when TEMPID then dbo.ufn_SerialString(@cInvoiceNo,inv_cInvoiceNo,'/') else RTRIM(isnull(inv_cInvoiceNo,'')) end,T_cInvoiceNo=@cInvoiceNo
    ,@iPalletQty=case @COM_ID when TEMPID then @iPalletQty+isnull(pkp_iPalletQty,0) else ISNULL(pkp_iPalletQty,0) end,T_iPalletQty=@iPalletQty
    ,@iQtyCarton=case @COM_ID when TEMPID then @iQtyCarton+isnull(pkd_iQtyCarton,0) else isnull(pkd_iQtyCarton,0) end,T_iQtyCarton=@iQtyCarton
    ,@engBoardingPort=case @COM_ID when TEMPID then dbo.ufn_SerialString(@engBoardingPort,engBoardingPort,'/') else RTRIM(isnull(engBoardingPort,'')) end,T_engBoardingPort=@engBoardingPort
    ,@chiBoardingPort=case @COM_ID when TEMPID then dbo.ufn_SerialString(@chiBoardingPort,chiBoardingPort,'/') else RTRIM(isnull(chiBoardingPort,'')) end,T_chiBoardingPort=@chiBoardingPort
               ,@COM_ID=TEMPID

    select * from #TEMP16U


    if not (select object_id('Tempdb..#TEMP16U')) is null drop table #TEMP16U

  • 相关阅读:
    RFID基础知识
    iOS开发技巧:使用ObjectiveC创建UUID的代码
    Java获取当前路径
    Oracle 10g 一些事项
    windows 2003 下IIS没有ASP.NET 1.1.4322选项卡
    Windows下手动完全卸载Oracle
    C#如何检测网络端口连接的状态
    windows 2003 下oracle从10.2.0.1升级到10.2.0.4
    Oracle 获取当前日期及日期格式
    Retrieving COM for CLSID {0002450000000000C000000000000046} 80040154.
  • 原文地址:https://www.cnblogs.com/guyuehuanhuan/p/1942269.html
Copyright © 2011-2022 走看看