首页 > 解决方案 > 根据另一个表的映射更新表值的最有效方法是什么

问题描述

我有一张包含以下详细信息的表格。

empID 部门位置段
1 23 55 12
2 23 11 12
3 25 11 39

我也有一个如下的映射表

字段旧值新值
部门 23 74
部门 25 75
段 10 24
地点 11 22  

所以我的任务是用新值替换旧值。我实际上可以先使用游标并更新部门,然后再使用细分等等。但这既费时又低效。我想知道是否有任何有效的方法可以做到这一点。如果我们计划在映射中添加更多列,将来也需要支持。

干杯。

标签: oracleplsqlsql-update

解决方案


如果它解决了问题,请检查它。

update emp set department = (select map.new_value from map where emp.department = map.old_value);

推荐阅读