table ta,tbupdate  ta t  set t.sal='100' where         t.name=tb.name 
  and  tb.page='1000'
 为什么执行的时候出错误
ORA-00904: "TB","PAGE": invalid identified

解决方案 »

  1.   

    update ta t
    set sal = '100'
    where exists(select 1 from tb where name= t.name and page='1000')
      

  2.   

    这样不把所有的都更新了,我只想更新tb.page='1000' 
    对应的ta的记录
      

  3.   

    1楼的sql正确  是只更新ta阿
      

  4.   


    其中的exists表示:exists 是Oracle sql中的一个函数。表示是否存在符合某种条件的记录
      

  5.   

    楼上的就正确,你要是不放心就用我这个,绝对唯一!
    update ta t
       set t.sal = '100'
     where t.rowid in (select ta.rowid
                           from ta, tb
                          where ta.name = tb.name
                            and tb.page = '1000');