2012年3月7日水曜日

【SQL】SELECT結果でのUPDATE

どっかからの拾いもの・・・。

UPDATE 住所録A A
SET (A.氏名,A.住所,A.電話番号)
= (SELECT B.氏名,B.住所,B.電話番号 FROM 住所録B B WHERE A.ID = B.ID)
WHERE EXISTS (SELECT 1 FROM 住所録B B WHERE A.ID = B.ID);

ORA-01427: 単一行副問合せにより2つ以上の行が戻されます
のエラーに悩まされたけどとりあえず同じ条件書いとけば大丈夫だった。