Om du är säker på att infogningen i DB endast kommer att ske från din applikationsände så skulle jag välja det första alternativet genom att skapa en procedur och inkludera både INSERT
uttalande i en TRANSACTION
blockera. vilket kommer att säkerställa atomär drift.
Men om det finns möjligheter att infogning i DB kan ske genom adhoc-förfrågan eller genom tredjeparts ETL-verktyg, så har du inget annat alternativ än att ha en trigger AFTER INSERT TRIGGER
för att utföra logginfogningen (andra alternativet) eftersom det inte finns något sätt att anropa den andra INSERT
uttalande automatiskt eller explicit.