我的 SSIS 包中有一个执行 SQL 任务
,它应该仅在特定条件为真时才执行 SQL 存储过程。
我有一个用户变量 [User::run]
,它在程序包启动时获取一个值。在我的 SQL 任务中,我有以下代码:
declare @run varchar(1)
set @run = '" + @[User::run] + "'
if @run = 'Y'
begin
EXEC sp_procedure()
end
但是,存储过程永远不会执行。任何帮助或建议将不胜感激。
最佳答案
这看起来像一个表达式而不是一个 sql。
打开 Execute SQL Task
,转到 Expressions
选项卡,将表达式添加到 SqlStatementSource
"declare @run varchar(1)
set @run = '" + @[User::run] + "'
if @run = 'Y'
begin
EXEC sp_procedure()
end"
“您可以使用表达式将参数值连接到查询字符串中并设置任务的 SqlStatementSource 属性。” Read more
关于sql-server - 在 SSIS 中有条件地执行 SQL 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43617289/