度量快速开发平台-专业、快速的软件定制快开平台
标题: 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://p.delit.cn/) |
Powered by Discuz! X3.2 |