【问题标题】:I want to create single query for this multiple queries我想为此多个查询创建单个查询
【发布时间】:2018-02-01 19:46:27
【问题描述】:
Update TransactionsMovs SET SubNumId='5253420' where SubNumId='3014362178619A000000033F' and CustNumKey='0024180002'
Update TransactionsMovs SET SubNumID='5253416' where SubNumId='301402662C2DC5800000017C' and CustNumKey='0024180003' 
Update TransactionsMovs SET SubNumID='5253419' where SubNumId='301402662C42F480000036AF' and CustNumKey='0024180004'
Update TransactionsMovs SET SubNumID='5253418' where SubNumId='30143639F809E880000003AA' and ItemNumKey='055270490-32-30'
Update TransactionsMovs SET SubNumID='5253417' where SubNumId='30140BA4EC4833C00000008C' and CustNumKey='0022870002' 

【问题讨论】:

标签: sql


【解决方案1】:

您想减少数据库往返吗? 如果是,您可以用 begin end 包围查询;

BEGIN
    Update TransactionsMovs SET SubNumId='5253420' where SubNumId='3014362178619A000000033F' and CustNumKey='0024180002';
    Update TransactionsMovs SET SubNumID='5253416' where SubNumId='301402662C2DC5800000017C' and CustNumKey='0024180003';
    Update TransactionsMovs SET SubNumID='5253419' where SubNumId='301402662C42F480000036AF' and CustNumKey='0024180004';
    Update TransactionsMovs SET SubNumID='5253418' where SubNumId='30143639F809E880000003AA' and ItemNumKey='055270490-32-30';
    Update TransactionsMovs SET SubNumID='5253417' where SubNumId='30140BA4EC4833C00000008C' and CustNumKey='0022870002';
END;

【讨论】:

    【解决方案2】:

    您正在尝试实现这样的目标,将所有条件与一个 UPDATE 语句结合起来。

    Update TransactionsMovs
    SET    SubNumId = CASE WHEN SubNumId='3014362178619A000000033F' AND CustNumKey='0024180002' THEN '5253420' 
                           WHEN SubNumId='301402662C2DC5800000017C' AND CustNumKey='0024180003' THEN '5253416' 
                           WHEN SubNumId='301402662C42F480000036AF' AND CustNumKey='0024180004' THEN '5253419' 
                           WHEN SubNumId='30143639F809E880000003AA' AND ItemNumKey='055270490-32-30' THEN '5253418'
                           WHEN SubNumId='30140BA4EC4833C00000008C' AND CustNumKey='0022870002' THEN '5253417'         
              END              
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-22
      相关资源
      最近更新 更多