Comparer deux versions d’une observation dans la base de données

logo postgresql

 

Cette fonction permet la comparaison deux versions d’une observation.

Elle exploite la table saisie.suivi_saisie_observation avec les fonctions windows : http://docs.postgresql.fr/9.2/functions-window.html

 

La table saisie.suivi_saisie_observation est créée sur le même modèle que la table audit de la documentation plpgsql :

  • http://docs.postgresql.fr/9.1/plpgsql-trigger.html#plpgsql-trigger-audit-example

Chaque version de ligne de la table saisie.saisie_observation y est datée (date_operation). La fenêtre est une partition réalisée selon id_obs et ordonnée par date_operation. Les fonctions window sont expliquées ici dans la doc de postgresql :

Des tests sont à ajouter, notamment pour vérifier que les versions de lignes existent.

Et on peut aller plus loin dans le comportement et afficher les valeur avant/aprés des champs modifiés.