度量快速开发平台-专业、快速的软件定制快开平台

标题: oracle大数据量的批量操作方法之一 [打印本页]

作者: 张兴康    时间: 2020-3-8 11:53


作者: 陈晓龙    时间: 2020-3-8 21:34
真牛逼!
作者: 王爱东    时间: 2020-7-28 09:55
标题: oracle大数据量的批量操作方法之一

在度量快速开发平台中,可能会遇见从一张表中读取数据插入到另外一张表中,还需要判断有的数据就更改,没有的数据就插入,而且可能会有很多数据,比如10万条。按照平台的语法写很有难度,效率很低。
现提供一个使用方法,大家可以参考测试。

merge into 解决用B表跟新A表数据,如果A表中没有,则把B表的数据插入A表;
语法:
MERGE INTO [your table-name] [rename yourtable here]
USING ([write your query here] )[rename your query-sqland using just like a table]
ON ([conditional expression here] AND[...]...)
WHEN MATHED THEN [here you can executesome update sql or something else ]
WHEN NOT MATHED THEN [execute somethingelse here ! ]

示例:

Merge Intoemp_bak  i
Using ( Selectemp_no,Name,salary,bonus From emp)  s
On(i.emp_no=s.emp_no)
When Matched Then
Update Set i.salary=s.salary,i.bonus=s.bonus
When Not Matched Then
Insert (i.emp_no,i.Name,i.salary,i.bonus)Values(s.emp_no,s.Name,s.salary,s.bonus);

如果数据量很大,此sql效率非常高


作者: 刘亚东    时间: 2020-7-28 10:48

作者: 张军勇    时间: 2020-7-28 14:43
不错哈,平常构建过程中经常会遇到这些问题的处理。
作者: 刘亚东    时间: 2020-7-28 16:57

作者: 万望    时间: 2020-7-28 17:00
LZ实在是V5、 霸气、帥




欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://bbs.delit.cn/) Powered by Discuz! X3.2