网上很多关于实现UPDATE FROM 的方法,但是看来只能是在记录数惟一的情况下。例如:
UPDATE tablea a
    SET a.fieldforupdate = (SELECT b.fieldsource FROM tableb b
    WHERE a.keyfield = b.keyfield)
    WHERE EXISTS (SELECT b.fieldsource FROM tableb b
    WHERE a.keyfield = b.keyfield)但是我要一次能够更新多条记录,如何简单实现?在MSSQL中,UPDATE FROM能够更新多条记录的!

解决方案 »

  1.   

    UPDATE tablea a
        SET a.fieldforupdate = (SELECT b.fieldsource FROM tableb b
        WHERE a.keyfield = b.keyfield)
    这样是可以一次更新多条记录的。
      

  2.   

    可以这么写
    update bi_track a set (a.d_attr4,a.d_attr5)=(select b.bi_level,b.bi_adjust_code from bi_track b where b.bi_track_id='DBI_ADD_000001')
    where a.bi_track_id='DBI_ADD_000001'   //带上条件
      

  3.   

    类似 update (select t.rowid ,t.* from t,t1,t2,....) a set ... ... where  .....
    你可以试试,注意 rowid
      

  4.   

    update 还是 sql server 的语法强悍
      

  5.   

    yuanmu(原木):update 还是 sql server 的语法强悍没有比较依据的:)