• SQL校验优化


     

    我的思路只能查当前的:

    ----校验此行订单是否已导入,若已导入则提示订单号并Return

    --        IF EXISTS (SELECT 1 FROM DOC_Order_Header b LEFT JOIN @tblData a

    --                         ON

    --                         a.ConsigneeID = b.ConsigneeID

    --                         AND a.ConsigneeID = b.ConsigneeID

    --                               AND a.SOReference1 = b.SOReference1

    --                               AND a.H_EDI_01 = b.H_EDI_01

    --                               AND a.OrderTime = b.OrderTime

    --                               AND a.H_EDI_02 = b.H_EDI_02

    --                               AND a.HeaderNotes = b.Notes

    --                               WHERE b.CustomerID = 'KKKL'

    --                         )

    --        BEGIN

    --        SET @Msg = @Msg + '订单号:' +  @sSOReference1 + '已存在,请检查数据!'

    --        RETURN -1                

    --        END

    优化思路:

     

    --校验客户是否存在,返回所有不存在的客户编号:        

      SET @sConsigneeID = NULL

      SELECT @sConsigneeID = ISNULL(@sConsigneeID + ',', '') + ConsigneeID

      FROM (

        SELECT DISTINCT a.ConsigneeID AS ConsigneeID

        FROM @tblAllData a

          LEFT JOIN BAS_Customer co ON a.ConsigneeID = co.CustomerID AND co.Customer_Type = 'CO'

        WHERE

          co.CustomerID IS NULL ) a

      IF @sConsigneeID <> ''

        SET @Msg = @Msg + '客户档案不存在:' + @sConsigneeID

       

      --校验订单是否存在,返回所有已存在的订单号

        SET @sSOReference1 = NULL

      SELECT @sSOReference1 = ISNULL(@sSOReference1 + ',', '') + SOReference1

      FROM (

        SELECT DISTINCT a.SOReference1 AS SOReference1

        FROM @tblAllData a

          LEFT JOIN DOC_Order_Header oh ON a.SOReference1 = oh.SOReference1 AND oh.CustomerID = 'KKKL'

        WHERE

          oh.SOReference1 IS NOT NULL ) a

      IF @sSOReference1 <> ''

        SET @Msg = @Msg + '订单已存在:' + @sSOReference1

    Ps 创建临时表  CREATE TABLE #TEMP 加两个##表示系统级别的临时表

    你永远不知道下一个转角等待你的是什么。
  • 相关阅读:
    js入门简单介绍
    HTML中input参数,多行文本textarea说明,以及获取和设置的方法
    css属性相对定位,绝对定位,固定定位
    Django框架(二十七)—— ContentType组件
    Django框架(二十八)—— Django缓存机制
    Django框架(二十五)—— Django rest_framework-路由控制与响应器
    Django框架(二十六)—— Django rest_framework-分页器与版本控制
    Django框架(二十三)—— Django rest_framework-解析器
    Django框架(二十四)—— Django rest_framework-视图组件
    Django框架(二十二)—— Django rest_framework-频率组件
  • 原文地址:https://www.cnblogs.com/Nagisa-Saku/p/5706508.html
Copyright © 2020-2023  润新知