如何运行多个"更新" OLE DB命令SSIS中的语句?

时间:2016-09-27 21:09:26

标签: ssis ssis-2012

我可以在SSIS OLEDB命令组件中运行以下查询。 {

DECLARE @ORDERID BIGINT = ? 
DECLARE @UPDATEDSKU VARCHAR(50) = ? 

UPDATE       DeviceHistory
SET          SKUReplacement = @UPDATEDSKU
WHERE        (OrderID = @ORDERID) 

DECLARE @ProductID as INT

Select @ProductID = ProductID from Products where ProductSKU= @UPDATEDSKU AND IsActive=1 AND ProgramID=2

}

1 个答案:

答案 0 :(得分:1)

声明两个变量@OrderID和@UpdatedSKU的位置不正确。 由于它是OLEDB命令对象,因此应首先声明@UPdatedSKU,以便为其分配第一个参数。

DECLARE @UPDATEDSKU VARCHAR(50) = ? 
DECLARE @ORDERID BIGINT = ? 


UPDATE       DeviceHistory
SET          SKUReplacement = @UPDATEDSKU
WHERE        (OrderID = @ORDERID) 

DECLARE @ProductID as INT

Select @ProductID = ProductID from Products where ProductSKU= @UPDATEDSKU AND IsActive=1 AND ProgramID=2

}

在OLEDB命令中传递参数时,我们必须遵循参数序列。