使用触发器更新查询

时间:2012-11-28 10:41:52

标签: sql plsql oracle11g sqlplus oracle-apex

我有2张表i-e(1)Return_Invoice和(2)product_warehouse。我想在Product_warehouse表格数量列中输入数据时更新Return_Invoice中使用的数量列,即当我在Quantity表格中的Return_Invoice列中输入值{表示{ {1}}应该是quantity表中的Quantity列的减号。任何查询或触发器。

enter image description here

我尝试过以下查询,但不起作用。

Product_Warehouse

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分: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