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

INSERT trigger for at indsætte post i samme tabel

Mutation sker hver gang du har en trigger på rækkeniveau, der ændrer den tabel, du udløser på. Problemet er, at Oracle ikke kan vide, hvordan man opfører sig. Hvis du indsætter en række, indsætter triggeren selv en række i samme tabel, og Oracle bliver forvirret, årsag, disse indsættelser i tabellen på grund af triggeren, er de også underlagt triggerhandlingen?

Løsningen er en tre-trins proces.

1.) Udsagnsniveau før trigger, der instansierer en pakke, der vil holde styr på de rækker, der indsættes.

2.) Rækkeniveau før eller efter trigger, der gemmer rækkeoplysningerne i de pakkevariabler, der blev instantieret i det forrige trin.

3.) Udsagnsniveau efter trigger, der indsætter i tabellen, alle de rækker, der er gemt i pakkevariablen.

Et eksempel på dette kan findes her:

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

Håber det hjælper.



  1. @Tailable(spring-data-reactive-mongodb) svarende til spring-data-r2dbc

  2. Relation videregivet til #eller skal være strukturelt kompatibel. Inkompatible værdier:[:referencer]

  3. Hvorfor kan jeg ikke opdatere mere end én kolonne på samme tid ved at bruge Med søgeord?

  4. Sådan bruges LIKE i SQL