Oracle-更新字段-一张表的字段更新另一张的表的字段
2015-05-28 10:20
120 查看
设备表ops_device_info中的终端号terminal_id值是以 'D'开头的字符串,而终端表ops__terminal_info中的终端号terminal_id是8位字符串, 它们之间是通过device_id关联的.
ops_device_info 1-->n ops_terminal_info
现在希望将设备表中的终端号更改为终端表中的终端号.
终端状态 4代表移机 5代表调试 6代表暂停 7代表启用 8代表报废 9代表停用
方式一:
方式二:
SQl执行过程中如果出现 '单行子查询返回多行记录',那可能是你的数据本身有点重复。; 可以使用 我的另一个sql查询一下重复数据 /article/6459707.html .
ops_device_info 1-->n ops_terminal_info
现在希望将设备表中的终端号更改为终端表中的终端号.
终端状态 4代表移机 5代表调试 6代表暂停 7代表启用 8代表报废 9代表停用
方式一:
update ops_device_info d set d.terminal_id = (select t.terminal_id from ops_terminal_info t where t.device_id=d.device_id and d.terminal_id like 'D%' and t.terminal_state not in ('8','9')) where exists (select t.terminal_id from ops_terminal_info t where t.device_id=d.device_id and d.terminal_id like 'D%' and t.terminal_state not in ('8','9'));
方式二:
merge into OPS_DEVICE_INFO t1 using OPS_TERMINAL_INFO t2 on (t1.device_id = t2.DEVICE_ID and t2.TERMINAL_STATE not in ('8','9')) when matched then Update set t1.TERMINAL_ID = t2.TERMINAL_ID where t1.terminal_id like 'D%';
SQl执行过程中如果出现 '单行子查询返回多行记录',那可能是你的数据本身有点重复。; 可以使用 我的另一个sql查询一下重复数据 /article/6459707.html .
相关文章推荐
- oracle数据库表备份和表恢复 怎样将Oracle一张表的多个字段更新到另一张表中去
- Oracle怎样将一张表的多个字段更新到另一张表中去
- Oracle一张表的多个字段更新到另一张表中去
- oracle把一个表的字段更新到另一张表中
- oracle将一个表的多个字段更新到另一张表里面
- 怎样将Oracle一张表的多个字段更新到另一张表中去
- Oracle中用随机数更新字段----将一张表的数据插入另一张表----环境设置
- Oracle两表关联(join)更新字段值一张表到另一张表
- 怎样将Oracle一张表的多个字段更新到另一张表中去
- Oracle两表关联(join)更新字段值一张表到另一张表
- Oracle 更新一张表中某个字段等于另一张表中的某个字段
- 怎样将Oracle一张表的多个字段更新到另一张表中去
- Oracle用一个表的一个字段值去更新另一张表的某个字段值
- Oracle 将一张表的某些字段更新到本条记录的另一个字段
- Oracle更新表字段时内容中含有特殊字符&的解决方法
- oracle 同时更新(update)多个字段多个值
- mysql同一张表的字段更新到另一张表的字段
- oracle通过两张表的一个字段对应,update其中一张表的某个字段
- Oracle更新date型字段基本语句
- 【Oracle】Clob字段读取,写入,更新