网上很多关于实现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能够更新多条记录的!
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能够更新多条记录的!
SET a.fieldforupdate = (SELECT b.fieldsource FROM tableb b
WHERE a.keyfield = b.keyfield)
这样是可以一次更新多条记录的。
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' //带上条件
你可以试试,注意 rowid