我正在尝试在SSIS中执行动态查询。
当我尝试以下陈述时
EXECUTE(@dynamicquery)
它会抛出错误并建议使用WITH RESULT SETS
但在我的情况下,结果模式也是动态的
EXECUTE(@query) WITH RESULT SETS ((@resultsschema));
这不是正确的语法。
有没有其他方法可以解决这个问题?
答案 0 :(得分:0)
您需要改变您的方法,并找到SSIS为我们提供的正确方法。根据您的问题,我假设您要执行带有SQL语句的DML语句,该语句仅在执行时基于变量'值。我建议你使用表达式(执行SQL任务 - >表达式 - > SQLStatement)。这也假设您希望在工作流程中执行此操作,而不是数据流。但是,数据流中的动态SQL并没有那么不同。
查看以下文章,该文章提供了数据流中动态表达式的示例,然后在控制流中跟随另一个:http://www.sqlsafety.com/?p=266