Nel momento in cui stai tentando di aggiornare la tua tabella, inizi un ciclo infinito al trigger, i trigger non servono per aggiornare le proprie tabelle, puoi creare una nuova tabella in cui mantieni il valore della tua chiave primaria della tua tabella e il valore della priorità , in modo da poter aggiornare la priorità in quella tabella. E nella tua applicazione o ovunque tu voglia, puoi unirti a questi due tavoli. Inoltre potresti considerare di aggiornare la tua tabella con il seguente sql nel lato applicazione:
update your_table set state = 'NEW' and priority = priority - 1 where ....
Inoltre è possibile scrivere una nuova stored procedure per correggere l'esecuzione automatica dei dati ogni 5/10 minuti (qualunque cosa si desideri).