Datastage多参数(条件)查询执行

时间:2018-06-29 10:52:53

标签: db2 sparse-matrix lookup datastage

我想创建一个作业,而不是基于表A中的某些值,在表B中执行WHERE CONDITION必须参数化的Select查询。

例如:我在A中有10列,其中填充了100行。我的9列可以为空,因此我必须创建一个控制值的可空性的查询,如果为空,则在Select语句中不得将其视为研究标准。

我考虑过要使用SPARSE查找,如果我的研究参数不为null时,我将传递一个由研究参数串联而成的字符串,但是该工作失败,因为您需要映射列。

我什至创建了一个以查询作为字符串的文件,然后循环文件并将字符串作为DB2连接器阶段的变量传递。它行得通...但是我有10000多行意味着10000个查询..不是那么快。

感谢您的帮助。

PS:我是这个东西的新手:D

1 个答案:

答案 0 :(得分:0)

您可以做的是在源/目标阶段使用SQL之前的选项。即,您的工作将至少分为两个阶段。一个源db2阶段和一个副本或顺序或窥视​​阶段作为目标或行生成器和目标db2连接器。

在输入db2连接器中,您可以将sql脚本作为参数传递到sql之前,前提是它是预先生成的,然后将它作为值传递给db2连接器的before sql。您的实际sql语句将使用“虚拟”脚本(例如“从sysibm.sysdummy1中选择当前日期”)来完成执行。

希望有道理。