Se ho capito bene stai cercando di:
- Interrompi l'inserto e sostituiscilo con un inserto in un'altra tabella (determinata dal trigger)
- Aggiorna una tabella di riepilogo (
delete
/insert
) per puntare alla nuova riga.
Il tuo problema è che 1 impedisce a 2 di accadere? È logico perché hai interrotto l'inserto, quindi hai interrotto anche qualsiasi elaborazione sull'inserto.
Quindi per risolvere questo problema hai un paio di opzioni (le opzioni 1 e 2 sono simili)
- Chiama
update_object_last_known_position()
dainsert_position()
e hai solo un trigger - Crea un metodo wrapper per entrambi
insert_position()
eupdate_object_last_known_position()
e avere un solo trigger. - Inserisci il trigger per
update_object_last_known_position()
su tutte le tabelle cheinsert_position()
potrebbe inserirsi in.