oracle - 根据另一个表的映射更新表值的最有效方法是什么
问题描述
我有一张包含以下详细信息的表格。
empID 部门位置段 1 23 55 12 2 23 11 12 3 25 11 39
我也有一个如下的映射表
字段旧值新值 部门 23 74 部门 25 75 段 10 24 地点 11 22
所以我的任务是用新值替换旧值。我实际上可以先使用游标并更新部门,然后再使用细分等等。但这既费时又低效。我想知道是否有任何有效的方法可以做到这一点。如果我们计划在映射中添加更多列,将来也需要支持。
干杯。
解决方案
如果它解决了问题,请检查它。
update emp set department = (select map.new_value from map where emp.department = map.old_value);
推荐阅读
- python - 熊猫数据透视表返回字符串不是值
- android - Android Studio 小部件在相对布局中消失
- python - 函数名后的冒号不会导致语法错误
- python - 我如何检查一个字符串是否包含另一个字符串
- javascript - TypeError: history.push is not a function 为什么有时会显示
- python - 如何将python字典转换为所需的数据框输出?
- android - Android:为 Android 中的每个 AIDL 调用创建线程
- bash - rmdir 命令在 linux 和 windows 上工作
- javascript - 在地图功能中分配?
- python - 设置运算符,“in”运算符,BNodes?