Oracle
 sql >> база данни >  >> RDS >> Oracle

За това как да създавате в Oracle Express - SQL. Тригер за актуализиране на колона

Можете да направите това в две стъпки:

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;

Това трябва да работи както за вмъквания, така и за актуализации, дори когато product_id промени.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо DECODE на Oracle ми дава различна стойност от NVL?

  2. Брой редове в Oracle SQL Изберете?

  3. SQL*Plus как да приема текстова променлива от подкана?

  4. node-oracledb грешка при изпълнение на съхранена процедура NJS-012

  5. Блок за инжектиране на Oracle SQL с DBMS_ASSERT