Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Informationen zum Erstellen in Oracle Express - SQL. Ein Trigger zum Aktualisieren einer Spalte

Sie können dies in zwei Schritten tun:

CREATE OR REPLACE TRIGGER trg_stock_ai AFTER INSERT OR UPDATE ON sale
FOR EACH ROW
BEGIN
    UPDATE product
        SET qty_stock = (qty_stock - :NEW.sale_p_qty)
        WHERE p.product_id = :NEW.product_id;

    UPDATE product
        SET qty_stock = (qty_stock + :OLD.sale_p_qty)
        WHERE p.product_id = :OLD.product_id;
END;

Dies sollte sowohl für Einfügungen als auch für Aktualisierungen funktionieren, selbst wenn product_id Änderungen.