a表 b表 結構分別 id ,name , id,memo
b表的memo需要對照a表 關鍵ID相同就可以更新,語句如下
update b
set memo = a.namefrom a,b
where a.id = b.id
這個就是隻更新from內的結果集,等效於下面的sql:
update b set memo=(select max(a.name) from a where a.id=b.id)
where exists(select 1 from a where a.id=b.id);
實際上這兩條語句都需要name和id是一一對應的,id是主碼。
Oracle中是不支持update:From這樣的句子的,ms-sql支持的,所以還是少用這種東西的好,不至於以後在兩種數據庫中犯迷糊。