暂无图片
ogg里用多个filter语法应该怎么写?
我来答
分享
暂无图片 匿名用户
ogg里用多个filter语法应该怎么写?

比如:同步employee表里job_id like 'AD_VP’的记录,写成这样是成功的:
MAP pdb1.hr.employees, TARGET orclpdb.user1.employees,filter ( @strfind (job_id,‘AD_VP’) > 0) ;
但同步job_id like ‘AD_VP’ or job_id like ‘AD_PRES’,语法该怎么写? 尝试几次都报错

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新

根据语法:MAP source_table, TARGET target_table, WHERE (clause);

可以这样

MAP pdb1.hr.employees, TARGET orclpdb.user1.employees, where(job_id like ‘AD_VP’ or job_id like ‘AD_PRES’)

暂无图片 评论
暂无图片 有用 0
答主
2022-07-22
在sql语法中也有instr函数,那是否可以where(instr(job_id,'AD_VP')>0 or instr(job_id,'AD_PRES')>0 按官网语法描述,这样应该允许,你试下:SQLPREDICATE “where job_id like ‘AD_VP’ or job_id like ‘AD_PRES’” 在你本机尝试尝试吧
virvle

试下用where
MAP pdb1.hr.employees, TARGET orclpdb.user1.employees,where(@strfind (job_id,‘AD_VP’)>0 and @strfind (job_id,‘AD_PRES’)>0) ;

参考链接:
函数:
https://docs.oracle.com/en/middleware/goldengate/core/19.1/reference/strfind.html#GUID-68A15856-4DEC-4CA1-AC83-474B77DDE2F6
map:
https://docs.oracle.com/goldengate/c1230/gg-winux/GWURF/table-map.htm#GUID-C2356234-3780-48EE-9E7A-F21DC352638C__I2016740

暂无图片 评论
暂无图片 有用 0
virvle
答主
2022-07-22
若是或者就and改成OR
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏