sql >> Database >  >> RDS >> Oracle

INSERT-trigger voor het invoegen van een record in dezelfde tabel

Mutatie vindt plaats wanneer u een trigger op rijniveau heeft die de tabel wijzigt waarop u triggert. Het probleem is dat Oracle niet weet hoe het zich moet gedragen. U voegt een rij in, de trigger zelf voegt een rij in de dezelfde tabel, en Oracle raakt in de war, want die invoegingen in de tabel vanwege de trigger, zijn ze ook onderhevig aan de triggeractie?

De oplossing is een proces in drie stappen.

1.) Verklaringsniveau voor trigger dat een pakket aanmaakt dat bijhoudt welke rijen worden ingevoegd.

2.) Rijniveau voor of na trigger die die rij-informatie opslaat in de pakketvariabelen die in de vorige stap zijn geïnstantieerd.

3.) Verklaringsniveau na trigger die in de tabel alle rijen invoegt die zijn opgeslagen in de pakketvariabele.

Een voorbeeld hiervan is hier te vinden:

http://asktom.oracle.com/pls/asktom/ASKTOM .download_file?p_file=6551198119097816936

Ik hoop dat dat helpt.



  1. SQL:cumulatieve kolommen &som over de rij

  2. mijn transactie wordt niet teruggedraaid als er iets misgaat in C# met mysql?

  3. Hoe verwijder ik records in MySQL en behoud ik de laatste datum?

  4. Tabelstructuur voor Geo Spatial Data