0

Return_Invoice (1)と (2) の2 つのテーブルがありproduct_warehouseます。Product_warehouseテーブルの数量列にデータを入力すると、使用される数量列を更新したい。Return_Invoiceつまり、テーブルの列からマイナスになる値をテーブルの列に入力すると、このためQuantityの任意のクエリまたはトリガー。Return_InvoicequantityQuantityProduct_Warehouse

ここに画像の説明を入力

次のクエリを試しましたが、うまくいきません。

update product_warehouse 
set Product_Warehouse.Quantity = Product_Warehouse.Quantity - Return_Invoice.Quantity
where (Product_Warehouse.item_code = Return_Invoice.item_code) 
4

2 に答える 2

1

指定されたトリガーが要件であるかどうかを確認してください。

create or replace
TRIGGER "WR_RETURN_INVOICE_UPDATE_TRG" 
AFTER UPDATE ON RETURN_INVOICE
FOR EACH ROW
  BEGIN
    UPDATE PRODUCT_WAREHOUSE
    SET QUANTITY=QUANTITY-:OLD.QUANTITY
    WHERE ITEM_CODE=:OLD.ITEM_CODE;   
END WR_RETURN_INVOICE_UPDATE_TRG;
于 2012-11-28T11:41:48.173 に答える
0

アイテムコードを必要な場所に配置します

    Create TRIGGER anUpdate ON dbo.Return_Invoice
After Insert
AS
declare @qty int
set nocount on

BEGIN
    set @qty= (Select RI.quantity FROM Return_Invoice RI where Item_code=yourcode)
    Update Product_Warehouse set  Quantity=Quantity-@qty where  Item_code=yourcode
END
GO
于 2012-11-28T10:55:40.030 に答える