zoukankan      html  css  js  c++  java
  • merge into 的用法

    已创建 1 行。
     
    SQL> commit;
     
    ----不带where子句
    SQL>  merge into merge1
      2     using merge2
      3   on (merge1.id = merge2.id)
      4   when matched then
      5     update
      6    set merge1.name = merge2.name;
     
    3 行已合并。
     
    SQL> rollback;
     
    回退已完成。
     
    ---带where子句
    SQL>   merge into merge1 a
      2    using merge2 b
      3   on (a.id = b.id)
      4   when matched then
      5    update
      6    set a.name = b.name
      7   where a.name <> b.name;
     
    0 行已合并。
     
    ------如果要更新b表,这样写会出错
    SQL>    merge into merge1 a
      2     using merge2 b
      3    on (a.id = b.id)
      4    when matched then
      5     update
      6     set b.name = a.name;
       set b.name = a.name
           *
    第 6 行出现错误:
    ORA-00904: "B"."NAME": 标识符无效
    ----------------------------------------

    ;MERGE INTO Loanee p
    USING ( SELECT * FROM @TApply AS nc) c on p.ApplicationID=c.ApplicationID
    WHEN MATCHED THEN UPDATE set p.UpdateTime=getdate()
    WHEN NOT MATCHED BY TARGET THEN INSERT
    (
    LoaneeNumber,LoaneeName,LoanDate,LockMatchRatio,SurplusMatchRatio,
    MatchRatio,MatchAmount,LockAmount,LoaneeAmount,ExpectedYield,
    LoanPeriod,CreditRating,FreeState,UpdateTime,AddTime,
    DeleteState,IsFullState,FullTime,LoaneeType,ApplicationID,
    CashAccountNo,ContractTime,RelaseRatio,MatchOrder,KsshDate,
    LockState,CashAccountNo_Name,loaneeSource,Broker_CashAccount,Broker_CashAccountName,ApprovalTime)
    VALUES(
    c.LoaneeNumber,c.[LoaneeName],c.[LoanDate],0,1,
    0,0,0,c.[LoaneeAmount],c.[ExpectedYield],
    c.[LoanPeriod],c.[CreditRating],0,getdate(),getdate(),
    0,0,null,0,c.[ApplicationID],
    c.[CashAccountNo],c.[ContractTime],0,c.[MatchOrder],[KsshDate],
    0,c.[CashAccountNo_Name],0,c.[Broker_CashAccount],c.[Broker_CashAccountName],c.ApprovalTime
    );

    以上例子的作用就是,向一个表中插入数据时,判断是否存在,不存在则插入,存在则更新
     
     
     
  • 相关阅读:
    IDEA安装scala搭建项目环境
    安装配置Maven和创建Java项目
    IDEA 2019.2的安装破解教程
    GroupBy
    C#快速傅立叶变换(Fast Fourier Transform)
    多种方式收费解决方案
    随机数生成算法
    C#生成随机数的三种方法
    统治世界的十大算法,你都了解多少?
    VR和AR技术是什么意思 二者有什么区别详解
  • 原文地址:https://www.cnblogs.com/yangjinwang/p/4801681.html
Copyright © 2011-2022 走看看