我正在尝试从oracle数据库中的行设置上下文变量。我已经在数据库中设置了表格,如下所示:
key | variable
name | BigDecimal
我还创建了一个BigDecimal上下文变量。如何将上下文变量链接到数据库,以便可以在SQL查询中使用它?
答案 0 :(得分:1)
如果你有一个包含模式(variable_name, variable_value)
的表,并且每一行都专用于一个作业,那么我建议你添加第三列,使其成为(variable_name, variable_value, job_name)
,然后用简单的单一查询将得到当前工作的一行:
select variable_name, variable_value from context_table where job_name = '"+jobName+"';
--jobName is varibale global exists in each Talend by defaults
如果您的表未建模为上下文服务,但您需要将该表中的specefic值加载到上下文中,则必须使用TOracleRow执行查询并将结果传递给具有以下代码的tJavaRow:
context.myVariable = input_row.myColumn
如果要在其他查询中使用该上下文变量,则查询将如下所示:
"select a, b, c from table1 where a = '"+context.myVariable+"'"