我正在与Sage Evolution合作,并为我们的公司定制大量后端工具。SQL Server:查询未根据需要运行
我需要写一个查询,当用户输入一个负数时,系统不允许交易,但是当用户输入一个负数并且产品属于“化学品”组时,它需要处理交易。
这是我写到目前为止的代码。
DECLARE
@iAfterfQuantity Int;
@iAfteriStockCodeID Int;
@iAfterStockItemGroup VarChar
SELECT
@iAfterfQuantity = fQuantity,
@iAfteriStockCodeID = iStockCodeID
FROM
INSERTED
SELECT
@iAfterStockItemGroup = ItemGroup
FROM
dbo.stkItem
WHERE
StockLink = @iAfteriStockCodeID
BEGIN
IF @iAfterfQuantity < 0 AND @iAfterStockItemGroup <> 'chemicals'
BEGIN
RAISERROR ('',16,1)
ROLLBACK TRANSACTION
END
END
我可以在这里看到最大的缺陷就是你正在考虑的触发将用于执行每行 –