热门关键词好会计 好业财 T+ 易代账 好生意 用友U8 用友BIP

    详细信息

    您现在的位置:网站首页 >> 百科问答 >> 详细信息

    Oracle 两表更新 报错ORA-01779: 无法修改与非键值保存表对应的列

    特价活动:>>>> 畅云管家新购、续费8折优惠,畅捷通T+cloud、好会计、易代账、好业财、好生意云产品8折优惠 

    --用B表字段更新A表字段
    UPDATE (
    select a.is_work iswork from dim_time a ,(select date_num,is_rest
    from WORKTIME_SPECIALDAY@oa ) b where a.fdate = b.date_num and b.IS_REST !=0 --order by a.fdate
    )t

    set t.iswork =1;


    报错:

    原因:B表去更新A表字段,在A表和B表关联的时候,B表date_num不是主键或date_num字段没有设置唯一键,导致B表date_num里有重复数据

    解决办法:

      第一种:修改业务数据,使date_num数据唯一

      第二种:写一个视图(DIM_WORKTIME_SPECIALDAY),去重之后再更新


    select distinct to_date(date_num,'yyyy-mm-dd hh24:mi:ss') as date_num, is_rest from WORKTIME_SPECIALDAY 
    where IS_REST =0 and org_account_id ='670869647114347'
    UPDATE ( select a.is_work iswork from dim_time a ,(select date_num,is_rest from DIM_WORKTIME_SPECIALDAY ) b 
    where a.fdate = b.date_num and b.IS_REST !=0 order by a.fdate
     )t set t.iswork =1;



     

     

    上一篇:Oracle 跟踪

    客服电话:400-665-0028

    关键字:用友财务软件,畅捷通软件,财务软件,进销存软件,U9官网,用友U8,用友T1,用友T+,用友T3,用友T6,畅捷通好会计,好生意,智+好业财,用友培训服务售后公司,畅捷通运营培训服务公司

    版权所有:用友畅捷通软件 Copyright © 2026 All rights reserved.

    鲁ICP备2020041017号-6