如何从数据库中设置上下文变量上下文、数据库中、变量

2023-09-03 12:03:05 作者:爷拽得有气质

我正在尝试从Oracle数据库中的一行设置上下文变量。我已经在数据库中设置了表,如下所示:

key     | variable
name    | BigDecimal

我还创建了一个BigDecimal上下文变量。如何将上下文变量链接到数据库,以便可以在SQL查询中使用它?

推荐答案

JavaScript 作用域 执行上下文 变量对象 作用域链

如果您有一个具有架构(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

如果您的表没有被建模为服务于上下文,但您需要将该表中的一个特定值加载到上下文中,则必须使用TOracleRow执行查询并将结果传递给具有以下代码的tJavaRow:

context.myVariable = input_row.myColumn

如果要在其他查询中使用该上下文变量,则查询将如下所示:

"select a, b, c from table1 where a = '"+context.myVariable+"'"