PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 20/02/2017 10:37:04

trigger on delete

Bonjour,

J'aimerais faire un trigger qui lorsque on veut faire un delete d'un record :
- fait un update de deux champs du record
- mais NE fait PAS de delete physique du record

Est-ce possible ?

Merci pour votre attention

Hors ligne

#2 20/02/2017 11:19:31

Arkhena
Membre

Re : trigger on delete

Bonjour,


Je ne suis pas fan des triggers qui ralentissent le DML...


Je vais donc commencer par répondre à côté (et je m'en excuse, vous êtes libres de sauter ce paragraphe):
A priori, ce que je comprends de votre besoin, c'est que vous voulez empêcher les DELETE physiques pour les remplacer par des DELETE logiques. Dans ce cas, pourquoi ne pas faire un REVOKE du droit de DELETE sur cette table (ou cet ensemble de données) pour imposer de faire des UPDATE permettant un DELETE logique ? Vous trouverez les informations sur le REVOKE ici: https://www.postgresql.org/docs/9.6/sta … evoke.html


Sinon, vous pouvez créer un trigger INSTEAD OF. Vous trouverez la documentation ici: https://www.postgresql.org/docs/9.6/sta … igger.html


Cordialement,


Arkhena

Dernière modification par Arkhena (20/02/2017 11:20:20)

Hors ligne

#3 20/02/2017 15:29:04

Re : trigger on delete

Merci  pour cette réponse pleine de sagesse

Mais la db n'est pas grosse et il n'y a pas bcp de users, alors je fais faire l'instead of.

Très cordialement,
mchl

Hors ligne

Pied de page des forums