sql-server - 在 SSIS 中有条件地执行 SQL 任务

标签 sql-server ssis etl sql-server-data-tools

我的 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/

相关文章:

sql - 从 Analysis Services 获取实例名称,如 @@ServerName

sql-server - Visual Studio 2017 SSIS 错误 (0xc001f041)

sql-server - SSIS 中禁用的任务是否会在执行或包加载期间进行验证

mysql - 使用 MySQL 或 Sql Server Express 处理 300 多个列

azure - 与 ADF 同步增量数据

mysql - 如何在一处维护EF连接字符串?

sql-server - 为什么 SQL Server DATETIME 类型以 1/300 秒的滴答声来节省时间?

c# - SQL 数据库的 "developer/test"模式

sql-server - SSIS - 在具有多个 '?' 的 OLE DB 源中仅指定一个参数

sql-server - SSIS : Unwanted line return on a dynamic connection string