创建两个表:
用户为Scott
create table zhiyuanb(填表日期 Date primary Key,
姓名 Varchar2(10) Not Null,
年龄 Number(3) ,
居住地 Varchar2(100),
)
用户为hr
create table ruzhib_1 ( 填表日期 Date primary Key,
姓名 Varchar2(10)Not Null,
年龄 Number(3) ,
居住地 Varchar2(100),
)
把Scott用户下的ruzhib 的增量数据抽取到hr用户下面的ruzhib_1
首先先创建一个时间戳表:
create table times(
cqsj date primary Key, --最近一次抽取表的时间
xtsj date ); --上次抽取作业的时间
ruzhib数据为
开始了,进入主题:
第一步先获取时间戳表里面的上次抽取的时间这里用的max(),再将上一步获取到的时间来取出上次抽取以后的数据,再将其插入到ruzhib_1里面
详细步骤:
查询的字段只需要弄一个主键就够了
再把抽取的时间和抽取时的系统时间记录到时间戳表内
详细步骤:
Max(填表日期)就可以获到本次增量抽取过来的最近时间,sysdate,来获取本次的操作时间
再将其插入到times表里
通过作业把他们组合到一块
详细步骤:start用于开始,
在第二个控件转化里面
把刚才做的那个抽取的转换填进去
第三个是把时间添加到times表里的转换
最后完成
步骤就这些
咱们测试一下
出现了一个错误,为什么呢,因为这是第一次创建表使用,times表里面还没有数据,所以会出错,咱们先向里面手动添加一条数据
InsertInto times Values(to_date('2018/1/1 12:23:00','yyyy/mm/ddhh24:mi:ss'),
to_date('2018/4/16 12:15:23','yyyy/mm/ddhh24:mi:ss'))
然后咱们再试一下
成功了,再测试一下,往zhiyuanb里插上两条记录再试试
InsertInto zhiyuanb Values(to_date('2018/2/3 12:56:00','yyyy/mm/ddhh24:mi:ss'),'玛丽',20,'北京');
InsertInto zhiyuanb Values(to_date('2018/3/4 09:31:02','yyyy/mm/ddhh24:mi:ss'),'张吉',23,'河南');
又成功了,所需的数据都被插入了进来
时间也被插入更新了进来
O k
自己独立编写,喜欢的能帮助你的给个小赞赞吧!!!