【问题标题】:how to pass parameter to a query inside the other query in SSIS lookup component如何将参数传递给 SSIS 查找组件中另一个查询中的查询
【发布时间】:2018-04-02 09:51:05
【问题描述】:

在转换过程中,我正在从表 abc 创建 col1、col2 和 col3、col4、col5。

然后在其中一个步骤中,我需要将 col1、col2、col3、col4 和 col5 数据用于具有以下结构的查找组件:

SELECT V_COVER_FLAG 
FROM PROD_EXT_BENEFIT
WHERE  BENEFIT_CODE = col5
AND PRODUCT_CODE IN (SELECT V_SEC_CODE FROM abc
                       WHERE Y_NO= col1
                         AND REN = col2
                         AND END = col3
                         AND NO = col4)

我通常将这些类型的脚本转换如下,然后在查找组件中匹配 col1 到 col5 的列:

SELECT a.V_COVER_FLAG, a.BENEFIT_CODE ,b.Y_NO, b.REN , b.END , b.NO 
FROM PROD_EXT_BENEFIT a, abc b
WHERE PRODUCT_CODE = b.V_SEC_CODE 

我想检查: 1-我的方法正确吗?我的意思是如果记录数很高,那么我们可能会遇到问题,但是,这个查询只返回单行记录。

2-如果我想采用第一种方法,我该如何传递参数?我尝试阅读之前的帖子,如(Previous solution),但问题是我正处于转换过程中,无法设置变量,或者我不知道如何在转换过程中进行设置。

期待收到您的来信。

【问题讨论】:

  • 我不明白。请更具体地使用您的data flow ?
  • @PrabhatG:我添加了我的数据流,它可能会对你有所帮助。你能告诉我你不明白哪一部分吗
  • 我不明白你为什么要写那个 SQL 查询?我实际上并没有得到问题陈述的要点。现在正在尝试再次阅读。
  • @PrabhatG:因为我不确定如何将参数传递给“SELECT V_SEC_CODE FROM abc WHERE Y_NO= col1 AND REN = col2 AND END = col3 AND NO = col4)” col1,col2,col3 和col4
  • 您可以随时选择将您的 sql 放入变量中并在查找中使用。像这样:datasavvy.me/2015/12/28/…

标签: ssis subquery


【解决方案1】:

在数据流中设置参数值的唯一方法是在脚本组件中。因此,运行查找,然后添加设置参数值的转换类型的脚本组件。有关在脚本组件中修改参数值的更多信息,请阅读:https://social.technet.microsoft.com/wiki/contents/articles/22198.use-ssis-variables-and-parameters-in-a-script-component.aspx

还有另一种方法可以做到这一点,那就是创建一个自定义数据流组件。有关创建自定义数据流组件的更多信息,请参阅:https://docs.microsoft.com/en-us/sql/integration-services/extending-packages-custom-objects/data-flow/developing-a-custom-data-flow-component

注意:您可以使用行计数功能仅在数据管道中设置行计数的参数值,但我怀疑您是否正在尝试这样做。

【讨论】:

    猜你喜欢
    • 2014-08-31
    • 1970-01-01
    • 2020-01-09
    • 2017-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多