2

我正在尝试在 SSIS 中执行动态查询。

当我尝试以下语句时

EXECUTE(@dynamicquery)

它抛出错误并建议使用WITH RESULT SETS

但在我的情况下,结果模式也是动态的

EXECUTE(@query) WITH RESULT SETS ((@resultsschema));

这不是正确的语法。

有没有其他方法可以解决这个问题?

4

1 回答 1

2

您需要改变您的方法并找到 SSIS 为我们提供的正确方法。根据您的问题,我假设您想使用仅在执行时根据变量值知道的 SQL 语句来执行 DML 语句。我建议你使用表达式(执行 SQL 任务 -> 表达式 -> SQLStatement)。这也假设您想在工作流中执行此操作,而不是数据流。但是,数据流中的动态 SQL 并没有太大的不同。

请查看以下文章,该文章提供了数据流中的动态表达式示例,然后是控制流中的另一篇文章:http ://www.sqlsafety.com/?p=266

于 2015-02-25T10:05:28.960 回答