暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

update 改写mergr into(两表没有关联)--结合deepseek优化改写2

原创 杜伟 2025-05-13
138

本次在生产上遇到这样的sql,看这结构应该可以改写,自己尝试改写,同时看看deepseek改写的咋样!

UPDATE test_1 A
   SET (A.SOURCE_DEPT, A.LAST_SYSTEM_ID, A.LAST_UPDATED_TS) =
       (SELECT NVL(TRIM(B.SOURCE_DEPT), A.SOURCE_DEPT),
               'CC0010002475',
               SYSTIMESTAMP
          FROM test_2 B
         WHERE A.ERP_PARTY_NAME = TRIM(B.PARTY_NAME)
           AND A.OTH_CERT_TYPE = 'CC0101001' || TRIM(B.CERT_TYPE)
           AND A.OTH_CERT_NO = TRIM(B.CERT_NO)
           AND B.CERT_NO NOT IN ('320822198005250109', '310103196310013339')
           AND DECODE(TRIM(A.SPCL_SRC_TYPE),
                      'CC020102112001',
                      '1',
                      'CC020102111001',
                      '2') = B.SC_TYPE)
 WHERE EXISTS
 (SELECT 1
          FROM test_2 C
         WHERE A.ERP_PARTY_NAME = TRIM(C.PARTY_NAME)
           AND A.OTH_CERT_TYPE = 'CC0101001' || TRIM(C.CERT_TYPE)
           AND A.OTH_CERT_NO = TRIM(C.CERT_NO)
           AND C.CERT_NO NOT IN ('320822198005250109', '310103196310013339')
           AND DECODE(TRIM(A.SPCL_SRC_TYPE),
                      'CC020102112001',
                      '1',
                      'CC020102111001',
                      '2') = C.SC_TYPE)
   AND TO_CHAR(A.UPDATED_TS, 'YYYYMMDD') = '99991231'
   AND A.SPCL_SRC_TYPE IN ('CC020102112001', 'CC020102111001');zi
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论