Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/05/2008, 18h15   #1
Membre régulier
 
Inscription : août 2005
Messages : 346
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2005
Messages : 346
Points : 94
Points : 94
Par défaut Créer une règle qui et enregistre la date de modification de l'enregistrement

Bonjour,

j'ai besoin de connaitre la date de mise à jour d'une table.
Pour cela, j'ai pensé mettre à jour une colonne "date_maj" dans cette table et créer une règle qui, à chaque mise à jour, remplace la valeur de cette colonne par l'heure (fonction now()).

Est-ce la meilleure solution, déjà ?

Et comment faire ? Car ce que j'ai essayé me fait une règle infinie.

Bonne soiree
Chekov est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2008, 19h33   #2
jnore
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Il faudrait créer un trigger qui réagit à l'évenement de mise à jour.
Il faudrait mettre à jour uniquement le champ "date_maj" de la ligne et non pas de la table complète. Sinon à chaque insertion, il va mettre à jour la totalité de la table!!!
Si tu mets à jour 1000 lignes, il va en fait mettre à jour 1000 fois tous les champs "date_maj" de ta table!!!
Ce sont ces opérations qui te font des longueurs.

Pour éviter cela il faudrait que le trigger ait un parametre pour mettre une clause Where sur ta table et ainsi mettre à jour que la ligne en question.

Donne nous des billes pour qu'on puisse t'aider.
  Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2008, 09h12   #3
Membre régulier
 
Inscription : août 2005
Messages : 346
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2005
Messages : 346
Points : 94
Points : 94
Ok, pour un trigger, je sais comment faire. Je pensais faire ça plus rapidement et efficacement avec une règle...

Une règle ne sert donc qu'à remplacer une requête complète ?

Question toute bête mais : il n'est pas prévu de pouvoir récupérer la date de dernière mise à jour d'une table dans les stats par exemple ?

Merci pour ta reponse.
Chekov est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2008, 20h29   #4
Membre du Club
 
Inscription : janvier 2008
Messages : 63
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 63
Points : 58
Points : 58
Citation:
Envoyé par Splug Voir le message
Une règle ne sert donc qu'à remplacer une requête complète ? .
Hi, c'est avec trigger. Oui pour la règle (fais autre chose à la place de la requête)


Citation:
Envoyé par Splug Voir le message
Question toute bête mais : il n'est pas prévu de pouvoir récupérer la date de dernière mise à jour d'une table dans les stats par exemple ?
Question ou affirmation ? Il fo être plus explicite
sdanvbnet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2008, 09h20   #5
Membre régulier
 
Inscription : août 2005
Messages : 346
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2005
Messages : 346
Points : 94
Points : 94
Citation:
Question toute bête mais : il n'est pas prévu de pouvoir récupérer la date de dernière mise à jour d'une table dans les stats par exemple ?
Citation:
Question ou affirmation ? Il fo être plus explicite
=
Question toute bête mais : n'est-il pas prévu de pouvoir récupérer la date de dernière mise à jour d'une table dans les stats par exemple ?
Chekov est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h08.


 
 
 
 
Partenaires

Hébergement Web