Oracle-使用相同的列名更新多个表

时间:2018-07-11 07:02:52

标签: oracle sql-update

您好,我是oracle的新手,我正在寻找一种将MySQL查询转换为Oracle SQL的好方法

这是我的MySQL中的SQL:

update billing, kb_detail 
    set tanggal_penagihan = :tanggal_penagihan 
        is_change = :is_change 
where billing.no_billing_sap = :no_billing_sap 
  and billing.no_billing_sap = kb_detail.no_billing_sap 

当我阅读大多数ppl给出的答案时,发现需要使用merge语法或进行循环并逐一分配列名,还有什么更好的方法吗? 我的意思是MySQL更新语法的一种简单方法

1 个答案:

答案 0 :(得分:1)

在Oracle中更新两个表的唯一方法是运行两个UPDATE语句:

update billing
    set tanggal_penagihan = :tanggal_penagihan 
where no_billing_sap = :no_billing_sap;

update kb_detail 
       is_change = :is_change 
where no_billing_sap =  :no_billing_sap;

如果将其包装在事务中,则与在MySQL中所做的没有区别