2014-02-19 23 views
0

我有具有以下属性的目标表:如何通过informatica更新单列?

PARTY_ID PK 
START_DATE PK 
STATUS_CD PK 
END_DATE 

我具有被返回箱(插入)2(更新)0(重复),用于从源表的每一行一个动态查找。

我想要的是当我得到2(更新)将END_DATE添加到更新的行而不更改其他任何东西。

例如我有我的目标表中的一行:

1 12/01/2014 2 NULL 

,我从我的源表中获取该行:

1 14/01/2014 6 NULL 

我要的是只添加结束日期到目标表没有别的。喜欢:

1 12/01/2014 2 14/01/2014 

我知道如何更新整个行,但我不知道如何更新只有一列。

模式:

CREATE SET TABLE IND_MAR_STATUS ,NO FALLBACK , 
NO BEFORE JOURNAL, 
NO AFTER JOURNAL, 
CHECKSUM = DEFAULT, 
DEFAULT MERGEBLOCKRATIO 
(
    INDIVIDUAL_PARTY_ID DECIMAL(18,0) NOT NULL, 
    INDIV_MARITAL_STAT_START_DTTM DATE FORMAT 'YYYY-MM-DD' NOT NULL, 
    MARITAL_STATUS_CD VARCHAR(100) CHARACTER SET LATIN NOT CASESPECIFIC NOT NULL, 
    INDIV_MARITAL_STAT_END_DTTM DATE FORMAT 'YYYY-MM-DD', 
    ETL_SOURCE_ID DECIMAL(18,0) NOT NULL, 
    ETL_EXTRACT_SPEC_ID DECIMAL(18,0), 
    ETL_JOB_RUN_ID DECIMAL(18,0)) 
PRIMARY INDEX (INDIVIDUAL_PARTY_ID); 

enter image description here

回答

1

只需断开你不想更新目标端口(即只PARTY_ID和END_DATE应连接)。

+0

我有一个更新策略,我正在检查如果我得到的标志是0(拒绝)1(插入)2(更新)。如果我只连接更新的结束日期端口,它将无法工作,因为如果我有一个插入它将需要所有的端口! – apoellitsi

+0

您可以使用路由器和单独的目标实例进行插入和更新。 –

+0

我做到了,但没有工作。 – apoellitsi