利用游标进行数据库数据备份

本文介绍了如何利用游标在Oracle数据库中高效地备份数据。通过示例展示了两种游标使用方法,一种是一次性处理所有数据,另一种是通过rownum限制每次处理的数据量,以减少数据库资源消耗。
摘要由CSDN通过智能技术生成

今天同事问我一个问题:他需要每天将tableA中指定条件下的数据copy到tableB中,并删除tableB中已被copy的数据,应该用什么方法高效一些?听到这个方法之后第一反映就是想到在我上家公司的时候,也做了同样的数据备份工作,不过当时脚本是我老大写的,我只是看了一眼,大概是将需要备份的数据查询出来,在循环结果集逐条将数据移走,为了减少数据压力,并每处理500记录之后commit一次。当时只是看了这种想法,也没多想这种写法用到了什么,结果也只是告诉同事这样一个思路。

现在回来咨询了下度娘,终于找到了原来使用的是游标(这里使用的是Oracle,当然游标在DB2,Mysql等数据库中也是可以使用的)

现在简单举例利用游标进行数据备份(移动)

背景:

表A

testA(

id int,

name varchar2(20)

)

表B

testB(

id int,

name varchar2(20)

)


第一种游标使用方法

declare
       --类型定义
       cursor c_job
       is
       select id,name
       from testa;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值