1. 程式人生 > >oracle資料庫A,B表關聯更新的問題

oracle資料庫A,B表關聯更新的問題

有表A如下
| id | code | name |
|-1-| 1001 | 張三 |
|-2-| 1002 | 李四 |
|-3-| 1002 | 李四 |

有表B如下
| id | code | name |
|-1-| 1001 | 王五 |
|-2-| 1002 | 王二麻子 |
|-3-| 1004 | 王三麻子 |
|-4-| 1005 | 張三 |
當執行如下語句:
UPDATE SYS_B B SET name=(SELECT name FROM SYS_A A WHERE A.code=B.code);
報如下錯誤:
ORA-01427: 單行子查詢返回多個行;此時需刪除表A中的重複記錄;
刪除之後再次執行,有可能會執行成功,也有可能會由於各種情況報不同的錯誤;可以想到的倆個問題就是,如果嚴格限制資料庫語法,那麼會由於a表中的