主要目的就是想UPDATE xworkrecord  表,但是总是告诉我错误。ora00933
未正确结束。。

解决方案 »

  1.   

    sql语句有错误,oracle将鼠标在错误附近停着。(用pl/sql可以做到)
      

  2.   

    update xworkrecord bb set outtime1=(select min(date_time) from reader_history aa where AA.employee_id=BB.EmployeeId and AA.date_time >BB.intime1 and to_char(date_time,'yyyy-mm-dd')='2004-04-01')
      

  3.   

    update xworkrecord set outtime1=B.out1  不可以这么写
    update xworkrecord set outtime1=(select 字段 from table )
      

  4.   

    update xworkrecord set outtime1=(select B.out1 
     from 
     xworkrecord G , 
    ( select employee_id ,out1
     from
     (
     select employee_id,min(date_time)  as  out1 from 
     (
     select employee_id,date_time from  
     ( 
      select employee_id,date_time from  reader_history 
       where  to_char(date_time,'yyyy-mm-dd')='2004-04-01'  
     )
    AA  left  join
    ( select * from xworkrecord )BB 
     on AA.employee_id=BB.EmployeeId 
    where AA.date_time >BB.intime1 
    )group by employee_id 
    ) )B where rownum = 1)
     where G.Employeeid=B.employee_id ;
      

  5.   

    看到两层甚至三层的select嵌套
    我很怀疑执行效率能有多高
      

  6.   

    oracle不是sql server,不支持update 语句带from参数。