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

Основна таблица за одит на тригерите на Oracle

Нямам представа защо получавате грешката, но премахнах всичко обратно и възстанових спусъка от основите и накарах това да работи:

CREATE OR REPLACE TRIGGER product_audit
  BEFORE INSERT OR DELETE OR UPDATE ON DD_Products
  FOR EACH ROW
DECLARE
  VAR_ChangeType CHAR(1);
BEGIN
  IF INSERTING   THEN VAR_ChangeType := 'I';
  ELSIF UPDATING THEN VAR_ChangeType := 'U';
  ELSE                VAR_ChangeType := 'D';
  END IF;
  INSERT INTO DD_PriceChange
  (
    PriceChangeNo,
    Change_Type,
    ChangeBy,
    ChangeDate, 
    NewProductPrice,
    NewRetailPrice, 
    OldProductPrice,
    OldRetailPrice
  ) VALUES (
    ProductHistory_SEQ.NEXTVAL,
    VAR_ChangeType,
    USER,
    SYSDATE,
    :NEW.ProductPrice,
    :NEW.RetailPrice,
    :OLD.ProductPrice,
    :OLD.RetailPrice
  );
END product_audit;
/

SQLFIDDLE




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Топ заявки за първичен ключ в Oracle с примери

  2. Как клаузата „in“ работи в oracle

  3. ORA-00933:SQL командата не е приключила правилно

  4. Oracle - Как да генерирам скрипт от sql разработчик

  5. Проверка на sid на oracle и име на база данни