PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

La ligne n'est pas supprimée car le déclencheur en cascade met à jour cette ligne

J'ai un problème similaire, mais avec une seule table. La suppression de lignes de la table donnée déclenche un déclencheur (avant la suppression), qui recherche les lignes liées dans la même table (par une condition donnée), et si les trouve, ces lignes sont mises à jour. Désormais, si une ligne mise à jour doit être supprimée par la même commande de suppression, elle n'est pas supprimée.

Donc, fondamentalement, si vous créez un déclencheur, qui met toujours à jour la même ligne qui est supprimée, vous ne pouvez plus rien supprimer à partir de maintenant.

Je ne sais pas si c'est exprès ou non. D'un côté, ça semble logique, c'est certain. Si vous mettez à jour un enregistrement, ce n'est pas le même enregistrement qui était destiné à être supprimé.

(désolé pour le mauvais anglais)