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

Trigger kan ikke læse tabellen, efter at være blevet affyret af den samme tabel

Hvis du forsøger at logge den ONO, du lige har indsat, skal du bruge :new.ono og spring helt over valget:

INSERT INTO BACKUP_ONO VALUES( VALUE1, VALUE2,VALUE3, :new.ono);

Jeg tror ikke, du kan vælge fra den tabel, du er midt i at indsætte i, da commit ikke er blevet udstedt endnu, derfor mutationstabelfejlen.

P.S. Overvej ikke at forkorte. Gør det klart for den næste udvikler, og kald det ORDER_NUMBER eller i det mindste en almindeligt accepteret forkortelse som ORDER_NBR, uanset din virksomheds navnestandarder. :-)

FYI - Hvis du opdaterer, kan du også få adgang til :OLD.column, værdien før opdateringen (selvfølgelig hvis kolonnen ikke er en primær nøglekolonne).



  1. Hvordan vælger man række efter primærnøgle, én række 'ovenfor' og en række 'under' ved anden kolonne?

  2. Mysql lagrede funktioner og gruppevis min

  3. Rails 3 ignorerer Postgres unikke begrænsningsundtagelse

  4. SÆT NAVNE utf8 i MySQL?