如何在 OLE DB 命令 SSIS 中 运行 多个 "update" 语句?
How to run multiple "update" statements in OLE DB Command SSIS?
我可以运行在 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
}
声明两个变量@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命令中传递参数时必须遵循参数的顺序。
我可以运行在 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
}
声明两个变量@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命令中传递参数时必须遵循参数的顺序。