sql >> Database teknologi >  >> RDS >> PostgreSQL

Før og efter trigger på samme begivenhed? Udfyld et underordnet bord PostgreSQL

Hvis jeg forstår dig rigtigt, prøver du at:

  1. Stop indsættelsen, og erstat den med en indsættelse i en anden tabel (bestemt af udløseren)
  2. Opdater en oversigtstabel (delete /insert ) for at pege på den nye række.

Dit problem er, at 1 stopper 2 fra at ske? Det er logisk, fordi du har stoppet indsatsen, så du også har stoppet enhver behandling på indsatsen.

Så for at løse dette har du et par muligheder (mulighed 1 og 2 ligner hinanden)

  1. Ring til update_object_last_known_position() fra insert_position() og kun have én udløser
  2. Opret en indpakningsmetode for både insert_position() og update_object_last_known_position() og har kun én udløser.
  3. Sæt udløseren for update_object_last_known_position() på alle de tabeller, der insert_position() kan indsættes i.



  1. Mål databaseydeevne under pres

  2. hvordan man bruger check constraint i oracle

  3. Løkke resultater baseret på kategori, men vis kun kategori én gang

  4. Alternativ til hashed SSN som nøgle i MySQL