sql >> Database teknologi >  >> RDS >> Oracle

Skift indsat værdi med trigger

I Oracles triggersyntaks omtales den nyligt indsatte post med :new , ikke new (læg mærke til tyktarmen). Derudover SET er en del af en opdateringssætning, ikke en måde at indstille feltværdier på - disse udføres ved simple tildelinger, men bemærk, at disse udføres med := i stedet for = .
Så din trigger bør være:

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. Oracle:Hvorfor jeg ikke kan stole på ROWNUM i en sletteklausul

  2. INSERT-sætning i Oracle

  3. Skift kolonnedatatype i MySQL uden at miste andre metadata (DEFAULT, NOTNULL...)

  4. Skinner:Udrulning til Heroku, mange problemer