From: | Guillaume Lelarge <guillaume(at)lelarge(dot)info> |
---|---|
To: | William Dode <wilk(at)flibuste(dot)net> |
Cc: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: [pgsql-fr-generale] verrouiller avant une date donnée |
Date: | 2009-02-08 21:46:32 |
Message-ID: | 498F52B8.2050603@lelarge.info |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
William Dode a écrit :
> [...]
> J'ai un cas classique où je dois interdire toute modification sur une
> période donnée. Comme en compta quand on clôture un exercice.
> Ca concerne plusieurs tables.
>
> Je vais donc créer un trigger qui va vérifier la date de ma ligne, que
> ce soit pour un update, insert ou delete. Seulement, je me demande
> comment je vais indiquer la date en question...
>
> Si j'indique la date dans une autre table, ça va obliger le trigger
> à faire une requête systématiquement, ça me semble lourd.
>
> L'autre solution serait de regénérer le trigger et d'y indiquer la date
> en dur, chaque fois que je change cette date.
>
> Est-ce qu'il y a mieux ?
>
Pourquoi pas une colonne booléen supplémentaire indiquant si la ligne
est verrouillée ? et le trigger qui vérifie cette colonne évidemment,
pour annuler les modifications si nécessaire.
Quand la période arrive, la colonne est mise à true pour toutes les
lignes concernées. Une fois la période passée, il suffit de la remettre
à zéro.
--
Guillaume.
http://www.postgresqlfr.org
http://dalibo.com
From | Date | Subject | |
---|---|---|---|
Next Message | Guillaume Lelarge | 2009-02-08 21:50:20 | Re: Fosdem |
Previous Message | Pascal Brognez | 2009-02-08 10:08:33 | Fosdem |