我可以在sql任务中放置多个语句吗?第二个语句是否会使用第4,第5和第6个参数值?我真的不想为这样的东西创建一个存储过程,而且还只需要一个sql任务而不是两个
param1
param2
param3
param4
param5
param6
UPDATE dbo.WhInvoice SET Bal = ?, [Status] = ? WHERE ID = ?
UPDATE dbo.WhInvoice SET Bal = ?, [Status] = ? WHERE ID = ?
答案 0 :(得分:2)
是的,您可以根据需要在执行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语句。