OGG的列映射和行过滤

映射列

--表级列映射

使用colmap映射source/target 名字不相同的列,可配合data definition使用;

extract/replicat分别配合table/map一起使用;

Usedefaults – source/target 列名一致时使用默认映射规则,不必每次都显示映射列,对同一列不可同显示映射一同使用

 

TABLE

MAP

 

Map sales.acctbl, target sales.accttab, colmap (

Usedefaults, --

Name = cust_name ,--sourcecust_name列转化为targetname

Transaction_date = @date(“YYYY-MM-DD”,”YY”,year,”MM”,month,”DD”,day), --sourcedate转化为targettransaction_date,

Area_code = @strext (phone_no,1,3));

 

全局列映射

使用Colmatch 创建全局规则,可协同namesprefix/suffix使用,””忽略大小写

COLMATCH {NAMES = | PREFIX | SUFFIX | RESET}

其中prefix/suffix为忽略去除source column的前后缀

 

默认列映射

如果没有使用colmatch/colmap,采用默认规则;

如果source/target 列名一致则映射;

如果不一致,采用fallback name mapping,由全局参数namematchignorecase/namematchexact决定

 

数据类型映射

数值列 如果target列长度较小则从右边truncate,较大则0填充

字符串列—target列长度较小则从右边truncat,较大则空格填充

日期列—target较小则从右truncate,反之则填充当前时间

 

 

 

 

过滤行

使用filter/where协同table/map工作

filter

TABLE

, FILTER (

[, ON INSERT | ON UPDATE| ON DELETE]

[, IGNORE INSERT | IGNORE UPDATE | IGNORE DELETE]

, );

 

MAP

, FILTER (

[, ON INSERT | ON UPDATE| ON DELETE]

[, IGNORE INSERT | IGNORE UPDATE | IGNORE DELETE]

[, RAISEERROR ]

, );

 

MAP SALES.TCUSTORD, TARGET SALES.TORD, FILTER (@COMPUTE (PRODUCT_PRICE*PRODUCT_AMOUNT) > 10000);

TABLE ACT.TCUSTORD, FILTER (ON UPDATE, ON DELETE, AMOUNT > 50);

 

Where

TABLE

MAP

 

过滤列

Cols/colsexcept协同table使用

TABLE hr.employees, COLS (employee_id ,email, department_id);

 

过滤DML

默认OGG会捕获所有DML,可在extract/replicat参数文件分别配置如下参数

GETINSERTS | IGNOREINSERTS

GETUPDATES | IGNOREUPDATES

GETDELETES | IGNOREDELETES

 

Insertupdates—sourceupdate转化为insert

Insertdeletes—sourcedelete转化为insert

Updatedeletes—sourcedelete转化为update

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15480802/viewspace-761981/,如需转载,请注明出处,否则将追究法律责任。

user_pic_default.png
请登录后发表评论 登录
全部评论
<%=items[i].createtime%>

<%=items[i].content%>

<%if(items[i].items.items.length) { %>
<%for(var j=0;j
<%=items[i].items.items[j].createtime%> 回复

<%=items[i].items.items[j].username%>   回复   <%=items[i].items.items[j].tousername%><%=items[i].items.items[j].content%>

<%}%> <%if(items[i].items.total > 5) { %>
还有<%=items[i].items.total-5%>条评论 ) data-count=1 data-flag=true>点击查看
<%}%>
<%}%> <%}%>

转载于:http://blog.itpub.net/15480802/viewspace-761981/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值