Zdá se, že tohle všechno nemůžete udělat na spoušti. Podle dokumentace :
V rámci uložené funkce nebo spouštěče není povoleno upravovat tabulku, která se již používá (pro čtení nebo zápis) příkazem, který funkci nebo spouštěč vyvolal.
Podle tato odpověď , zdá se, že byste měli:
vytvořit uloženou proceduru, která vloží/aktualizuje cílovou tabulku a poté aktualizuje další řádky, vše v transakci.
S uloženým procesem provedete změny ručně (vložení a aktualizace). V MySQL jsem to neudělal, ale tento příspěvek vypadá to jako dobrý příklad.