度量快速开发平台-专业、快速的软件定制快开平台
标题: oracle数据库用代码实现批量更新(update)、批量插入(insert)、批量删除(delete) [打印本页]
作者: 万望 时间: 2020-4-16 22:18
标题: oracle数据库用代码实现批量更新(update)、批量插入(insert)、批量删除(delete)
有一个这样的需求,之前有一个表A,导出了表A中的一部分数据,然后对于这部分数据进行了一些修改,比如修改了运输时间、运输方式啥的,主键都是订单号。现在,需要将修改后的数据重新更新到表A中,这个时候肯定想到的是update,但是一个一个的update显然不现实,而且也完全没有必要这样去做。
实现上面的这个需求,可以首先建个表B,存储修改了表A的部分数据,然后使用游标一个个的将表B中的数据更新到表A中,实现代码大概如下:
- DECLARE
- CURSOR csr_data IS
- SELECT *
- FROM b;
- BEGIN
- FOR rec IN csr_data
- LOOP
- UPDATE a
- SET a.start_transit_time = rec.start_transit_time, -- 这里设置的是要更改的列
- a.supplier = rec.supplier,
- a.transit_name = rec.transit_name,
- a.transit_type = rec.transit_type
- WHERE a.order_no = rec.order_no; -- 这里是可以作为唯一性区分的列
- END LOOP;
- END;
复制代码上面的代码是实现的批量更新,后来我又想到了批量插入和批量删除,发现就没有必要用游标这样去做了,
如果要批量删除的话,就直接delete就OK了。
作者: 陈晓龙 时间: 2020-4-17 17:29
作者: 陈晓龙 时间: 2020-4-17 17:30
欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://bbs.delit.cn/) |
Powered by Discuz! X3.2 |