从count sql语句设置上下文变量

时间:2016-03-03 13:12:53

标签: sql integration talend data-management

我是Talend的新手并感谢任何帮助。我有一个mysql输入(tMSSqlInput),其语句为:select count(*) as row_count from app.ImportFile a where 1;

我想做什么:在数据库中选择count语句并分配给变量。

这看起来是否适合设置上下文变量:

tMSSqlInput ----> if语句(不知道在这里包含什么)----> tSetGlobalVar

我读过:Setting a database value to context variable in talendHow to set context variable from database但它们是关于具有列名的select语句的SQL语句。

谢谢大家。

2 个答案:

答案 0 :(得分:1)

我更愿意使用tJavaRow而不是tSetGlobalVar。这样可以更准确地确定您要执行的操作:使用tMSSQLInput的输入设置全局变量。

tMSSQLInput---main--->tSetGlobalVar

tSetGlobalVar的第一列中,添加所需的全局地图变量的名称,例如" rowCount"

tSetGlobalVar的第二列中,您输入了rown.count,其中" rown"是来自tMSSQLInput的行的名称," count"是tMSQLInput模式中指定的字段的名称。

答案 1 :(得分:0)

what you can do is below
tMSSqlInput-->tJavaRow (here you can populate your global variable...lets say your schema column name was row_count then here you can put logic as 
globalMap.put("row_count_received",input_row.row_count);
and then you can use if conditional subjob trigger

tMSSQLInput--->tJavaRow
|
|if condition ---  (((Integer)globalMap.get("row_count_receive"))==1
V
do your operation

similarly you can fork another if statement and where count=0 like above..