deliverydetail_delete.sql
来自「用vb.net写的基于c/s结构的进销存程序设计源代码」· SQL 代码 · 共 35 行
SQL
35 行
CREATE TRIGGER DeliveryDetail_Delete
ON DeliveryDetail
FOR DELETE
AS
/* 如果删除记录数是0就结束触发程序 */
IF @@ROWCOUNT = 0 RETURN
/* 定义变量
@DeliveryID : 出货单号
@DeliveryProperty : 出货单属性
@ProductID : 商品编号
@Quantity : 数量
*/
DECLARE @DeliveryID Char(10), @DeliveryProperty Char(1), @ProductID Char(10)
DECLARE @Quantity Decimal(12, 0)
/* 找出删除的出货单号给DeliveryID, 商品编号给ProductID, 数量给Quantity */
SELECT @DeliveryID = DeliveryID, @ProductID = ProductID,
@Quantity = SalesQuantity
FROM deleted
/*找出这张出货单的出货属性*/
SELECT @DeliveryProperty = DeliveryProperty
FROM DeliveryMaster
WHERE DeliveryID = @DeliveryID
IF @DeliveryProperty = '1'
/*出货:库存量加回*/
BEGIN
UPDATE Product SET Quantity = Quantity + @Quantity
WHERE ProductID = @ProductID
END
ELSE
/*出货退回:库存量减去*/
BEGIN
UPDATE Product SET Quantity = Quantity - @Quantity
WHERE ProductID = @ProductID
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?