Я работаю над некоторыми функциями для проекта, использующего Oracle.У меня есть две таблицы, Inventory
и Transaction
, где в таблице Inventory
есть ряды элементов, каждая из которых имеет ID
и Count
, например: ID = 'ProductA' Count = 12
Transaction
таблица содержит строки транзакций, имеющие TXID
, ItemID
, ItemQuantity
, например: TXID = '00012', ItemID = 'ProductA', ItemQuantity = 5
Мне нужно иметь возможность обновлять количество элементов в Inventory
при новой транзакциисделан.
Я мог бы сделать это с несколькими операторами,
INSERT INTO "TRANSACTION"
(TRANSACTIONID ....
VALUES('00012' .....`
UPDATE INVENTORY
SET Count = Count - ItemQuantity
WHERE ROWID='ProductA'
`
Но это не кажется правильным, что если есть какая-то ошибка и не все операторы выполняются.
Какой формат я должен использовать для этого типа функций?