Informatica 如何使用DB的Sequence。

查询了网上如下建议:

You need to create a function in database that accept sequence name as parameter and return the sequence value. 


Create a stored procedure transformation with two ports. 
1) Sequence Name as Input Port 
2) Return Value as Output Port 

Provide database function name (along with schema name) in "Stored Procedure Name" on Properties tab. 

Call the stored procedure transformation from expression transformation. 

:SP.storedproc(seq_name) 


但是使用informatica自己的sequence generator是效率最高的。

最常用的方法就是获得记录的最大的序号,然后+1.

Informatica sequence generator中两个选项的作用:

Cycle与Reset,这两个选项的作用都是为了使序列号不会因到达最大值而产生错误。而它们却有不同的作用。
Cycle是指循环使用序列号,当序列号当前值到达最大值时,重置序列号为初始值,当然这样会造成实际的序列号重复,只有当系统对此没有特别限制时,可以使用。
Reset则是指在每运行完一次后,序列号自动重置为初始值,这更大程度上产生同样的序列号,但这个选项却有它很大的用处,例如对同一批次数据需要产生一个序列号,每匹次均从初始值开始编号,此选项即显得非常的有用了。还有对于每次加载目标表,目标表需要清空数据,而目标表由一个Sequence作为主键的,此时可以选中该选项为其产生序列号。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值