update tsysparameter a set a.c_modify=ttempsysparameter.c_modify
from tsysparameter right join ttempsysparameter
on tsysparameter.l_serial_no=ttempsysparameter.l_serial_no
oracle报错   ORA-00933: SQL command not properly ended 怎么回事 

解决方案 »

  1.   

    oracle只能单表更新,不能用from
      

  2.   

    update tsysparameter a,ttempsysparameter b
           set a.c_modify=b.c_modify 
        where a.l_serial_no=b.l_serial_no 
    ;
      

  3.   

    update tsysparameter a set a.c_modify=
    (
    select ttempsysparameter.c_modify 
        from ttempsysparameter  b
        where a.l_serial_no(+)=b.l_serial_no
    )
    where exist
    (select 1
        from ttempsysparameter  b
        where a.l_serial_no(+)=b.l_serial_no
    )
      

  4.   


    /--改写:update tsysparameter a
       set a.c_modify = (select b.c_modify
                           from tsysparameter b
                          where a.l_serial_no(+) = b.l_serial_no)
     where exists
     (select 1 from tsysparameter b where a.l_serial_no(+) = b.l_serial_no);
      

  5.   

    我没有更新 我查询操作为什么也有这个问题?
    所以说应该不是 sql 的问题我觉得应该是 权限的问题 大概
      

  6.   

    我 又dug 了一下,lz你sql 错了。或许是 java
    中执行没有 留空格
    支持 前面几位高手