update table1 a set a.f1=(select b.f1 from table2 where a.f2=b.f2 )

解决方案 »

  1.   

    语法就要求不使用啊
    update table set col1 = value1[, coln = valuen];
      

  2.   

    你可能是从sqlserver转过来的吧,Oracle和sqlserver的语法的确不同,建议多看看语法要求
      

  3.   

    update table1 a set a.f1=(select b.f1 from table2 where a.f2=b.f2 )或者update table1 a set a.f1 select b.f1 from table2 b where ...........
      

  4.   

    呵呵,楼主也碰到啦,以前我学习前也碰到了,后来看语法才明白,呵呵,那时我也很诧异,受T-SQL语法影响
      

  5.   

    标准SQL语句该怎么写就怎么写,FROM关键子没就没,有就有。各数据库的语法就这样。
      

  6.   

    这是基本的SQL语句,没有什么道理。
      

  7.   

    这是PL/SQL的特点,是Oracle公司规定的。