Re: [pgsql-fr-generale] verrouiller avant une date donnée

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

In response to

Responses

Browse pgsql-fr-generale by date

  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