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表中的

猜你喜欢

转载自blog.csdn.net/weixin_42299768/article/details/84634560