| 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: | Whole Thread | Raw Message | 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 |