sql >> Databáze >  >> RDS >> Oracle

Změňte vloženou hodnotu pomocí triggeru

V syntaxi triggeru Oracle je nově vložený záznam označen :new , nikoli new (všimněte si dvojtečky). Navíc SET je součástí aktualizačního příkazu, nikoli způsob, jak nastavit hodnoty polí – ty se provádějí jednoduchým přiřazením, ale všimněte si, že se to provádí pomocí := spíše než = .
Spouštěč by tedy měl znít:

CREATE OR REPLACE TRIGGER NumberOfBooks
    BEFORE INSERT
    ON book
    FOR EACH ROW
BEGIN
    IF :new.nobook < 10
    THEN
        :new.nobook := 10;
    END IF;
END;



  1. Více značek vyhledávací dotaz

  2. Lze úlohu vytvořit dynamicky uvnitř spouštěče?

  3. Jak uložit JS Date.now() v PostgreSQL?

  4. Matoucí chyba o chybějící levé závorce v příkazu SQL