sql >> Databasteknik >  >> RDS >> PostgreSQL

Före och efter trigger på samma händelse? Fyll en underordnad tabell PostgreSQL

Om jag förstår dig rätt försöker du:

  1. Stoppa infogningen och ersätt den med en infogning i en annan tabell (bestäms av utlösaren)
  2. Uppdatera en sammanfattningstabell (delete /insert ) för att peka på den nya raden.

Ditt problem är att 1 hindrar 2 från att hända? Det är logiskt eftersom du har stoppat infogningen så att du också har stoppat all bearbetning på bilagan.

Så för att lösa detta har du ett par alternativ (alternativ 1 och 2 liknar varandra)

  1. Ring update_object_last_known_position() från insert_position() och har bara en utlösare
  2. Skapa en omslagsmetod för båda insert_position() och update_object_last_known_position() och har bara en utlösare.
  3. Sätt utlösaren för update_object_last_known_position() på alla tabeller som insert_position() kan infogas i.



  1. Introduktion till spärrar

  2. Microsoft Access är INTE död och inte heller VBA

  3. Varför MySQL helt omformatera VIEW-frågetexten?

  4. Visa länkar i PHP/MySQL?