sql数据订正学习
来源:互联网 发布:wan端口未连接怎么弄 编辑:程序博客网 时间:2024/06/08 00:09
最近一段做的比较多的就是数据订正,各种各样的用户问题,要快速解决的话,最直接的途径就是数据订正。但是如果按照之前的操作,做大批量数据订正的时候,效率就很低,所以重新开始了学习。公司用的数据库目前为oracle
一.多表关联更新操作
有次遇到一张表的数据某个字段有问题,必须要用另一表的数据重新更新下,共有500多条数据需要订正。只是涉及到数据内容更换,如果涉及需要把更换内容通知到第三方接口等,就必须开发一个任务,但当时从预期来看,只要把数据订正过来,避免后续产生问题即可。
第一次采取的办法是,通过查询程序获得要进行订正数据,然后使用程序或者excel生成多条sql语句,由于系统执行的sql条数长度有限制,所以提交几次之后,决定放弃了,太浪费劳动力了;
第二次直接采取sql语句,进行两表关系更新操作,sql如下:
update table1 a set a.modifier='xxx',gmt_modified=sysdate, a.member_id =(select member_id from table2 b where b.member_id_old=a.member_id and b.member_id!=a.member_id and a.member_id >'b' and a.member_id<'o' and a.is_deleted='n' and b.is_deleted='n' and a.av_object in ('ov','etp')) where exists (select 1 from global_account b where b.member_id_old=a.member_id and b.member_id!=a.member_id and a.member_id >'b' and a.member_id<'o' and a.is_deleted='n' and b.is_deleted='n' and a.av_object in ('ov','etp'))运行几次后,更新成功;
大概的格式为:
update table1 a set a.column1 = (select b.cloumn2 from table2 b) where exists xxxx;
二.插入表操作
之前有个故障处理,需要对一张表做insert操作,但是此表段很多很多,按照最简单的insert table1(xx...)valus(xxx...),看那些赋值累死,于是采取了复制插入的办法,找了条内容差不多的数据,小做几个字段的修改后,就可以了。sql如下:
insert into table1 (ID, IS_DELETED, CREATOR, GMT_CREATE, MODIFIER, GMT_MODIFIED, xxx....)select SEQ_table1.nextval, IS_DELETED, CREATOR, sysdate, xxxx... from table1 where id=xxx
- sql数据订正学习
- 数据订正:insert select,删除重复数据,truncate
- 大数据量订正数据时,清空cache的问题
- Echarts3.0加载和订正气象格点数据
- Echarts3.0加载和订正气象格点数据源码
- 数据结构习题订正MARK
- 【C#练习】基础知识订正
- 学习SQL数据查询地址
- [SQL]学习一下sql数据分页
- 【Sql Server学习】Sql Server数据查询
- 字符集和字符编码[订正]
- 字符集和字符编码[订正]
- MyMathLib系列(订正两个函数)
- 东南928真题订正
- Sql语句学习笔记(3)-插入数据
- SQL的数据操作学习(二)
- Mysql学习笔记<3>数据记录SQL
- SQL学习(1) 数据定义语言
- 希尔排序(Java实现)
- Boost.Threads
- 很不错的一篇文章,把链接收下
- struts2 web.xml struts.xml *.jar
- jdk 和 jre 区别
- sql数据订正学习
- 全球 ip 数据库
- Unhandled exception was raised.Look WinCC Diagnose directory for details.
- BulletedList
- 【JAVA IO】_RandomAccessFile笔记
- ORACLE 表空间不足与用户配额(限额)不足的问题解决
- js的eval的功能
- OGG报错:ERROR OGG-01028解决办法
- 悲催的12306