У меня есть две таблицы, tbl_stock и tbl_stockEntry, эти две таблицы идентичны.
У них есть следующие поля: количество сортов сорта склада
, когда запись вводится в таблицу tbl_stockEntry Iхотел бы либо обновить соответствующую запись в таблице tbl_stock, либо создать новую запись, если соответствующей записи нет.
Но мне нужно, чтобы она соответствовала 3 полям: склад, сорт и сорт.
Это мой триггер для создания записи, но я не могу заставить ее вставить запись, если ничего не найдено.
BEGIN
UPDATE tbl_stock
SET quantity = quantity + NEW.quantity
WHERE vegetableCultivar = NEW.vegetableCultivar
AND warehouse = NEW.warehouse;
END
Я пробовал это, но это не работает:
BEGIN
UPDATE tbl_stock
SET quantity = quantity + NEW.quantity
WHERE vegetableCultivar = NEW.vegetableCultivar
AND warehouse = NEW.warehouse;
if sql%rowcount = 0 then
-- nothing was updated, so the record doesn't exist, insert it.
insert into tbl_stock (warehouse, vegetableCultivar, vegetableVariety, quantity)
values (NEW.warehouse, NEW.vegetableCultivar, NEW.vegetableVariety, NEW.quantity);
end if;
END
Если кто-нибудь знает, как мне это сделать, буду очень признателен за помощь.