db2 - Datastage 多参数(条件)查询执行
问题描述
我想创建一个作业,而不是基于表 A 中的某些值,在表 B 中执行选择查询,其中 WHERE CONDITION 必须是参数化的。
例如:我在 A 中有 10 列,填充了 100 行。我的 9 列可以为空,因此我必须创建一个查询来控制值的可空性,如果为空,则不得将其视为 Select 语句中的研究标准。
我考虑过使用 SPARSE 查找,如果它们不为空,我将传递一个字符串,该字符串由研究参数的连接创建,但作业失败,因为您需要映射列。
我什至创建了一个将查询作为字符串的文件,然后循环该文件并将字符串作为变量传递给 DB2 连接器阶段。它有效......但我有超过 10000 行意味着 10000 个查询......不是那么快。
谢谢你的帮助。
PS:我对这些东西很陌生:D
解决方案
您可以做的是在源/目标阶段使用 Before SQL 选项。也就是说,您的工作将至少有两个阶段。一个源 db2 阶段和一个副本或顺序或窥视阶段作为目标或行生成器和目标 db2 连接器。
在您的输入 db2 连接器中,您可以将您的 sql 脚本作为参数传递给 before sql,前提是它是预先生成的,并将其作为值传递给您的 db2 连接器的 before sql。您的实际 sql 语句将使用“虚拟”脚本,例如“从 sysibm.sysdummy1 中选择当前日期”来完成您的执行。
希望这是有道理的。
推荐阅读
- azure - 传入网络挂钩不支持资源过滤器
- regex - 如何编写正则表达式来匹配以特殊字符开头并以一组单词结尾的单词
- google-maps - 为什么调用 getDetails 关于 Google 地图地方库中某个地方的方法不断返回 QUERY_OVER_LIMIT 错误?
- python - 如何以可变的 dict 长度同时迭代 dict 项?
- python - 使用 OneToOneField 自动链接表单和用户
- assembly - 将 lisp 代码转换为汇编语言的工具
- file - Ant任务查找包含某个文件的所有子目录
- javascript - 如何使用我的 JavaScript 代码在 Repl.it 上使用 Telegraf 的密码?
- reactjs - 如何在 React 中观察 node.current.clientHeight 的变化?
- c++ - 如何使用 parser.AddModelFromFile(full_name); 定位 urdf 文件 在德雷克