ITPub博客

首页 > Linux操作系统 > Linux操作系统 > OGG的列映射和行过滤

OGG的列映射和行过滤

原创 Linux操作系统 作者:myownstars 时间:2013-05-24 17:10:37 0 删除 编辑

映射列

--表级列映射

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

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

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

 

TABLE

, TARGET
, COLMAP ([USEDEFAULTS, ] = );

MAP

, TARGET
, COLMAP ([USEDEFAULTS, ] = );

 

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

Usedefaults, --

Name = cust_name ,--将source的cust_name列转化为target的name列

Transaction_date = @date(“YYYY-MM-DD”,”YY”,year,”MM”,month,”DD”,day), --将source的date转化为target的transaction_date,

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

 

全局列映射

使用Colmatch 创建全局规则,可协同names或prefix/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

, TARGET
,

, 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

, WHERE ();

MAP

, TARGET
, WHERE ();

 

过滤列

Cols/colsexcept协同table使用

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

 

过滤DML

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

GETINSERTS | IGNOREINSERTS

GETUPDATES | IGNOREUPDATES

GETDELETES | IGNOREDELETES

 

Insertupdates—将source的update转化为insert

Insertdeletes—将source的delete转化为insert

Updatedeletes—将source的delete转化为update

 

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

请登录后发表评论 登录
全部评论

注册时间:2010-03-18

  • 博文量
    375
  • 访问量
    3320725