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

Db2 Datastage多参数(条件化)查询执行,db2,sparse-matrix,lookup,datastage,Db2,Sparse Matrix,Lookup,Datastage,我想创建一个作业,而不是基于表a中的一些值,在表B中执行Select查询,其中where条件必须是参数化的 例如:我在一个表中有10列,填充了100行。我的9个列可以为空,因此我必须创建一个查询来控制值的可空性,如果为空,则不能将其视为Select语句中的研究条件 我考虑使用稀疏查找,如果研究参数不为null,我将传递我创建的字符串,但由于需要映射列,所以作业失败 我甚至创建了一个文件,将查询作为字符串,然后循环该文件并将字符串作为变量传递给DB2Connector阶段。它是有效的。。。但是我有

我想创建一个作业,而不是基于表a中的一些值,在表B中执行Select查询,其中where条件必须是参数化的

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

我考虑使用稀疏查找,如果研究参数不为null,我将传递我创建的字符串,但由于需要映射列,所以作业失败

我甚至创建了一个文件,将查询作为字符串,然后循环该文件并将字符串作为变量传递给DB2Connector阶段。它是有效的。。。但是我有超过10000行意味着10000个查询。。没那么快

谢谢你的帮助


PS:我不熟悉这类东西:D

您可以做的是在源/目标阶段使用Before-SQL选项。也就是说,你的工作至少有两个阶段。一个源db2阶段和一个拷贝或顺序或peek阶段作为目标或行生成器和目标db2连接器

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


希望它有意义。

为什么不直接在数据库(SQL)中进行连接?你的描述我不清楚-也许你可以提供一些例子。