У меня есть таблица Inventory
сложения и вычитания столбцов в оракула
"INVENTORY_CODE" VARCHAR2(20) NOT NULL ENABLE
"ITEM_CODE" VARCHAR2(20) NOT NULL ENABLE
"WAREHOUSE_CODE" VARCHAR2(20)
"CON_TON" NUMBER(38,5)
"IN_Q_TON" NUMBER(38,5)
"OR_Q_TON" NUMBER(38,5)
"RES_TON" NUMBER(38,5)
"RET_TON" NUMBER(38,5)
"ST_INV" NUMBER(38,5)
и другая таблица Inventory_warehouse
"CODE" VARCHAR2(20) NOT NULL ENABLE
"ITEM_CODE" VARCHAR2(20) NOT NULL ENABLE
"QUANTITY_AV_TON" NUMBER(38,5)
"QUANTITY_AV_REAM" NUMBER(38,5)
"QUANTITY_AV_SHEET" NUMBER(38,5)
Я хочу сделать триггер для расчета QUANTITY_AV_TON
в
QUANTITY_AV_TON = IN_Q_TON + RES_TON + RET_TON + ST_INV - CON_TON - OR_Q_TON
Я создал этот триггер, но это не сработало
create or replace trigger QUANTITY_TON
AFTER insert or update or delete on INVENTORY
for each row
begin
UPDATE INVENTORY_WAREHOUSE
SET QUANTITY_AV_TON =
select (IN_Q_TON + RES_TON + RET_TON + ST_INV - CON_TON -OR_Q_TON)
from inventory
where INVENTORY.item_code = INVENTORY_WAREHOUSE.item_code;
end;
значения IN_Q_TON
, RES_TON
, RET_TON
, ST_INV
, CON_TON
, OR_Q_TON
вычисляются из других таблиц с использованием триггеров
Я бы порекомендовал вам быстрый просмотр с обновленной структурой. – haki
Итак, что не получилось? – OldProgrammer
PL/SQL: ORA-00936: отсутствует выражениеCompilation failed, PL/SQL: заявление SQL игнорируется – user2648669