【问题标题】:SSIS - Stored Procedure Has An Input Parameter That Runs Different Queries In The ProcedureSSIS - 存储过程具有在过程中运行不同查询的输入参数
【发布时间】:2016-06-23 01:57:18
【问题描述】:

我试图对 SSIS 中的多个包只使用一个存储过程。输入参数执行过程的不同部分。似乎 SSIS 变得“困惑”并且只看到第一个结果集。有什么办法可以做到这一点,还是我需要将存储过程拆分成多个过程?

例子:

If @Section = 1
BEGIN
   Run this section of the stored proc.
END

If @Section = 2
BEGIN
   Run this section of the stored proc.
END

If @Section = 3
BEGIN
   Run this section of the stored proc.
END

提前致谢。

【问题讨论】:

  • 这是一个非常糟糕的设计理念 - 不要这样做! 与维护的麻烦相比,您通过一个程序获得的一点点微不足道,可怕您将获得执行计划以及这种方法的更多问题。一开始可能看起来很聪明 - 它不是 - 转储它。接受单一职责原则 - 每段代码都应该只做一件事,并且只做一件事 - 并且把它做好

标签: sql-server tsql stored-procedures ssis


【解决方案1】:

正如 Marc_S 所说,不要这样做。

如果您的部分返回不同的架构,我的意思是,不同字段的不同结果,SSIS 将无法映射它。 SSIS 是基于 xml 的,不是“那种”动态的。

也许这可以帮助你:https://www.simple-talk.com/sql/ssis/ssis-basics-using-the-conditional-split/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-06
    相关资源
    最近更新 更多