Ssis 在一个带有参数的sql任务中可以有多个update语句吗?
我可以在一个sql任务中放入多个语句吗?第二个语句会使用第四、第五和第六个参数值吗?我真的不想为这样的东西创建一个存储过程,我更希望只有一个sql任务而不是两个 参数1Ssis 在一个带有参数的sql任务中可以有多个update语句吗?,ssis,Ssis,我可以在一个sql任务中放入多个语句吗?第二个语句会使用第四、第五和第六个参数值吗?我真的不想为这样的东西创建一个存储过程,我更希望只有一个sql任务而不是两个 参数1参数2参数3参数4参数5参数6 是的,在执行SQL任务中可以有任意多个语句 如果您使用的是使用顺序位置的连接管理器,那么您应该按照问题中所示连接参数 我喜欢的一个技巧是在我的SQL语句中创建变量并填充它们。这允许我只映射一次参数,然后重用到我的核心内容。例如,假设状态值参数2被分配给第一个和第二个语句 DECLARE
参数2
参数3
参数4
参数5
参数6
是的,在执行SQL任务中可以有任意多个语句 如果您使用的是使用顺序位置的连接管理器,那么您应该按照问题中所示连接参数 我喜欢的一个技巧是在我的SQL语句中创建变量并填充它们。这允许我只映射一次参数,然后重用到我的核心内容。例如,假设状态值参数2被分配给第一个和第二个语句
DECLARE
@Bal1 decimal(18,2) = ?, @Status varchar(30) = ?, @id1 int = ?
, @Bal2 decimal(18,2) = ?, @id2 int = ?;
UPDATE dbo.WhInvoice SET Bal = @Bal1, [Status] = @Status WHERE ID = @id1;
UPDATE dbo.WhInvoice SET Bal = @Bal2, [Status] = @Status WHERE ID = @id2;
现在,我只需要传入5个参数,而不是6个。它还可以更轻松地测试数据库中的逻辑,因为您只需“修复”第一部分,使其成为有效的SQL语句。@bitshift在编写SSIS SQL命令时始终遵循此技巧,这样更易于维护和知道哪个参数会用到哪里。
DECLARE
@Bal1 decimal(18,2) = ?, @Status varchar(30) = ?, @id1 int = ?
, @Bal2 decimal(18,2) = ?, @id2 int = ?;
UPDATE dbo.WhInvoice SET Bal = @Bal1, [Status] = @Status WHERE ID = @id1;
UPDATE dbo.WhInvoice SET Bal = @Bal2, [Status] = @Status WHERE ID = @id2;