0
我試圖在product_inv更新但我的代碼未運行時更新產品表格。請幫我這個使用觸發器更新表格
create table Product
(
P_ID varchar2(10) constraint cat_pk PRIMARY KEY,
P_name varchar2(15) constraint Cat_unqnn UNIQUE NOT NULL,
P_Brand varchar2(15) CHECK(P_Brand IN('Yes', 'No')),
P_Cost varchar2(6),
P_qty number
);
insert into product values('10', 'Coke', 'Yes', '34', '8');
insert into product values('20', 'Pepsi', 'No', '25', '6');
create table Product_Inv
(
P_ID varchar2(5) REFERENCES Product(P_ID),
Rate varchar2(5) constraint prodcut_rate_nn NOT NULL,
Qty number constraint prodcut_qty_nn NOT NULL,
Discount varchar2(15),
Lot_ExpiryDate varchar2(10)
);
create or replace trigger Product
AFTER insert or update or delete on Product_Inv
for each row
begin
UPDATE Product
SET p_qty = p_qty + new.Qty
WHERE p_id = new.p_id;
end;
在此之後插入的項目10將以前的8 + 9這樣的,但有一些錯誤。
insert into Product_inv values('10', '25', '9', '25', '19-8-2014');
什麼錯誤? –
插入到Product_inv後,您在產品表中獲得了什麼? –
觸發無效,失敗重新驗證! – Tabani