i have two tables; Purchase order:
CREATE TABLE "PURCHASE_ORDER"
( "PO_NUMBER" NUMBER(*,0) NOT NULL ENABLE,
"CUSTOMER_NUMBER" NUMBER(*,0),
"PO_DATE" DATE,
"PRICE" NUMBER(*,0),
"ORDER_QUANTITY" NUMBER,
"STOCK_ID" NUMBER(*,0),
PRIMARY KEY ("PO_NUMBER")
and the bulk stock table:
CREATE TABLE "BULK_STOCK"
( "STOCK_ID" NUMBER(*,0) NOT NULL ENABLE,
"STOCK_DESCRIPTION" VARCHAR2(50),
"STOCK_UNITOF_MEASUREMENT" VARCHAR2(50),
"STOCK_STATUS" VARCHAR2(50),
"FLOOR_ID" NUMBER(*,0),
"STOCK_NAME" VARCHAR2(50),
"BULK_QUANTITY" NUMBER NOT NULL ENABLE,
PRIMARY KEY ("STOCK_ID")
I am creating a trigger that updates the BULK_QUANTITY in the bulk stock table when purchase table is inserted with values:
create or replace trigger "UPDATE_ON_PURCHASE"
BEFORE
insert or update or delete on "PURCHASE_ORDER"
for each row
begin
UPDATE bulk_stock
SET BULK_QUANTITY =BULK_QUANTITY-:old.ORDER_QUANTITY
WHERE STOCK_ID=:old.STOCK_ID;
end;
when i run this form
Nothing changes in the bulk stock table
but if I hard code it
create or replace trigger "UPDATE_ON_PURCHASE"
BEFORE
insert or update or delete on "PURCHASE_ORDER"
for each row
begin
UPDATE bulk_stock
SET BULK_QUANTITY =BULK_QUANTITY- 20 //the 20 would be the inserted ORDER_QUANTITY
WHERE STOCK_ID= 12 // 12 would be the stock_ID
it works.
This is done in Oracle Apex software. I need help with the trigger. Many thanks end;