我在表中有两个表(Tparam和Customer)。第一个表包含数据库的全局UPDATE日期,表Customer包含许多行,每行都有一个名为UPDATE DATE
的列。
现在,我需要通过此天才作业在数据库中进行增量加载。我应该在UPDATE DATE > GLOBAL UPDATE DATE
处获取行,并将其加载到数据仓库中。
我试图将全局更新日期放入变量中,并运行作业以选择更新日期> GLOBAL UPDATE DATE的行。
下面是我的工作:在tjavaFlex中,我创建了一个包含查询和全局更新变量的字符串。 查询是:
String Query = "SELECT * FROM [ProjetBI_DW].[dbo].[W_CLIENT_D] where [UPDATE_DATE]";
并在体内:
Query = Query + ">" + row5.UPDATEDATE ;
答案 0 :(得分:0)
我认为您不能使用
Query + ">" + row5.UPDATEDATE ;
由于row5是当前流,因此无法在tMSSQLInput_5组件中使用它。您应该使用全局变量或上下文变量。
在第一个子作业中,应将更新日期放在全局变量或上下文变量中。
“ tParam”组件中的查询应仅返回一行“ globalUpdateDate”。 然后,您可以使用简单的tJavaRow代替tJavaFlex并使用代码:
context.myGlobalUpdateDate = input_row.globalUpdateDate
别忘了在作业中声明上下文变量。
然后在tMSSSQLInput_5中,将查询与上下文变量一起使用。
"SELECT * FROM [ProjetBI_DW].[dbo].[W_CLIENT_D] where [UPDATE_DATE] > '"+context.myGlobalUpdateDate+"'"