update zjbsc  set(XH,CBM,MZ,GRZT,LXDH,XJZDZ,CBRQ,JFDC,TSQTLB,RDKSNF,RDZZNF)=
(
    select  XH,CBM,MZ,GRZT,LXDH,JZDZ,CBRQ,JFJE,TSQTLB,RDKSNF,RDZZNF from cj_nbys_grjbzl  where cj_nbys_grjbzl.xm=zjbsc.xm and cj_nbys_grjbzl.gmsfzhm=zjbsc.gmsfzhm
)在oracle中为什么总 正在执行啊,这都一个小时了,是不是哪里写错了啊 求教?

解决方案 »

  1.   

    没有触发器,数据量也不是很多也就3W条数据 我是想把cj_nbys_grjbzl  表中的几个字段根据 gmsfzhm和xm两个字段关联zjbsc表 把cj_nbys_grjbzl 表的几个数据更新到zjbsc表中。
    请问有什么方法可以解决吗?
      

  2.   

    你同时更改3W条数据,那表zjbsc的数据不是都一样了?
      

  3.   

    不一样 zjbsc表里面有100W条数据 而cj_nbys_grjbzl表的数据是从外部采集整理回来的 现在必须把这些数据重新 更新到zjbsc里面 
      

  4.   

    伙计  不带where的update可是很危险的
    你的sql在update 整个zjbsc表另外把zjbsc表nologging下
      

  5.   

    你非要用update吗?不能先把zjbsc表的数据清空,再全部把cj_nbys_grjbzl表的数据插入?
    100W的数据部知道执行的效率怎么样
      

  6.   

    你最好加上一个key 让数据识别,来区分已经更新的数据和未更新的数据。
      

  7.   

    这样会嵌套查询的
    用 
    update
    select
    set
    试试吧