SSIS根据参数执行SQL任务

标签 ssis

我可以做如下的事情吗,请告诉我 IF @parameter=1 BEGIN ...查询... END IF @parameter=2 如果可能的话,需要正确的语法。 这是 OLE DB 连接。 不是存储过程。只是一个sql查询

最佳答案

DECLARE @param AS INT = ?;

IF @param  = 1
BEGIN
    SELECT 1 AS Y;
END
ELSE IF @param = 2
BEGIN
    SELECT 2 AS Y;
END

您的查询中有两个问号,并且您可能只传递了一个变量。我见过开发人员两次(或多次)传递相同值的代码。这是低效的。更好的方法是接收 SSIS 变量中传递的参数。优点: 1. 一个值只需传递一次。 2. 更重要的是,如果您更改传递的参数在 sql 中的使用顺序,则无需在执行 SQL 任务编辑器//参数的用户界面上更改它们的顺序。这是安迪·伦纳德后来在回应中提出的建议。

关于SSIS根据参数执行SQL任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17428666/

相关文章:

sql - "No column information was returned"从空 Excel 工作表中选择时出错

ssis - 无法在 SSIS 2017 中的 excel 连接管理器上使用表达式

sql-server - SSIS 包上的参数变量是只读的吗?

sql - 派生列转换中的 DT_DBDATE 日期到 YYYYMMDD

c# - 平面文件目标 预执行阶段失败。无法打开数据文件

sql - SSIS 将值保存为参数

sql - SSIS 序列容器事务选项

batch-file - 如何从 WinSCP 脚本中重命名下载的文件?

oracle - 从 SSIS 执行 SQL 任务返回 Oracle LONG 值

sql-server - 如何删除 SSIS 中数据流任务中的列?