sql >> Database >  >> RDS >> PostgreSQL

Voor en na trigger op dezelfde gebeurtenis? Vul een onderliggende tabel PostgreSQL

Als ik je goed begrijp, probeer je:

  1. Stop de invoeging en vervang deze door een invoeging in een andere tabel (bepaald door de trigger)
  2. Een overzichtstabel bijwerken (delete /insert ) om naar de nieuwe rij te wijzen.

Uw probleem is dat 1 stopt met 2 gebeuren? Dat is logisch, want je hebt de invoeging gestopt, dus je hebt ook de verwerking op de invoeging gestopt.

Dus om dit op te lossen heb je een aantal opties (opties 1 en 2 zijn vergelijkbaar)

  1. Bel update_object_last_known_position() van insert_position() en heb maar één trigger
  2. Maak een wrapper-methode voor beide insert_position() en update_object_last_known_position() en hebben maar één trigger.
  3. Zet de trigger voor update_object_last_known_position() op alle tabellen die insert_position() zou kunnen invoegen in.



  1. Bestanden opslaan in SQL Server

  2. Hoe de primaire sleutel voor automatisch verhogen in PostgreSQL in te stellen?

  3. InnoDB vergrendelingsprestaties op rijniveau - hoeveel rijen?

  4. Kan geen verbinding maken met twee postgres-databases in rails 3.2.