PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

La riga non viene eliminata a causa degli aggiornamenti del trigger a cascata di questa riga

Ho un problema simile, ma con un solo tavolo. L'eliminazione di righe dalla tabella specificata attiva un trigger (prima dell'eliminazione), che cerca le righe correlate nella stessa tabella (in base a una determinata condizione) e, se le trova, queste righe vengono aggiornate. Ora, se una riga aggiornata deve essere eliminata con lo stesso comando di eliminazione, non viene eliminata.

Quindi, in pratica, se crei un attivatore, che aggiorna sempre la stessa riga che viene eliminata, d'ora in poi non potrai eliminare nulla.

Non so se questo è apposta o meno. Da un certo punto di vista, sembra logico, questo è certo. Se aggiorni un record, non è lo stesso record che doveva essere eliminato.

(scusate il pessimo inglese)