sql >> Database >  >> RDS >> Oracle

maximum aantal recursieve SQL-niveaus (50) overschreden

Je doet een "before insert"-trigger. In zo'n trigger voeg je niet in dezelfde tabel in - anders krijg je een oneindige lus. Gewoon toewijzen aan de variabele waarde:

CREATE OR REPLACE TRIGGER trig_deptno2
BEFORE INSERT ON dept2
FOR EACH ROW
DECLARE v_deptno NUMBER(2) ;
BEGIN
    SELECT coalesce(MAX(deptno) + 1, 1) INTO :new.deptno
    FROM dept2 ;
END trig_deptno2 ;
new variabel.

Laat me gewoon zeggen dat reeksen met een reden bestaan, en dat je ze voor dit doel moet gebruiken. Als u hun functionaliteit probeert na te bootsen, leidt dit waarschijnlijk tot fouten.



  1. MySQL - Kolomwaarde verhogen of gegevens invoegen indien niet aanwezig

  2. Hoe kan ik deze berekende kolom in SQL Server 2008 wijzigen?

  3. Locatie van MySQL-configuratiebestand (dwz:my.cnf) niet gespecificeerd

  4. ongeldig pad tijdens het schrijven van het bestand in pl sql