我可以在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
}
答案 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命令中传递参数时,我们必须遵循参数序列。