PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 16/04/2018 23:02:33

Mangone
Membre

Débutant demande aide

je cherche à  ajouter une "colonne date" qui renferme les dates de mise à jours. A chaque fois qu'une mise à jour sera effectuée, la date sera  saisie automatiquement dans cette colonne .
En somme toute les mises à jour sera visibles dans cette colonne
Pouvez-vous m'aider ?

Hors ligne

#2 17/04/2018 17:35:38

gleu
Administrateur

Re : Débutant demande aide

Quel problème rencontrez-vous ?

Hors ligne

#3 17/04/2018 19:11:39

Mangone
Membre

Re : Débutant demande aide

Bonjour Gleu,

Merci d'avoir répondu à ma demande, merci aussi pour la disponibilité.
Voilà 4 nuit que j'arrache les cheveux sur un problème que je n'arrive pas à résoudre:
J'ai un table de 5 colonnes (4 en type integer) et la 5 ème une colonne (date en type date).
La 5 ème colonne enregistre la date de mise à jour. A chaque fois qu'il y a mise à jour la date et consignée sur cette colonne date.
J'ai pensé utiliser une fonction trigger et un trigger. Actuellement ma base n'a ni trigger ni fonction.
Le premier sera pour la colonne date et les 2 autres triggers "before insert et before update sur cette colonne pour affecter la date système.

Voilà l 'aide dont j'ai besoin, je vous serais reconnaissant de bien vouloir m'aider.
Merci d'avance

Bonne soirée

Hors ligne

#4 17/04/2018 21:55:51

gleu
Administrateur

Re : Débutant demande aide

Il faut en effet ajouter une fonction trigger et un trigger qui va déclencher cette fonction. À défaut de questions concrètes, je peux vous donner des liens vers la documentation, notamment https://docs.postgresql.fr/10/triggers.html pour l'écriture de fonctions triggers, et https://docs.postgresql.fr/10/sql-createtrigger.html pour la création d'un trigger.

Hors ligne

#5 19/04/2018 07:34:22

Mangone
Membre

Re : Débutant demande aide

Bonjour,

J'ai suivi les liens, voilà ce que je vous présente et qui ne fonctionne pas pour le moment. Je ne sais si je m'y prends mal ou pas certainement oui . Merci de m'assister s'il vous plait

CREATE TRIGGER nom_du_trigger BEFORE UPDATE ON ma_table
FOR EACH ROW SET NEW.ma_5e_colonne = [date];

La question que je me pose excusé mon manque de culture !!!
1) Me faut il une fonction trigger avant de créer un trigger ?
je pose cette question parce que quand je vais sur trigger, je n'ai pas ou coller ce bout de code.

Dois-créer une nouvelle fonction trigger si oui comment la créer ?
Comment faire marcher ce bout de code .

Merci de bien vouloir me donner un coup de pouce s'il vous plait .

Hors ligne

#6 19/04/2018 09:14:04

rjuju
Administrateur

Re : Débutant demande aide

Oui, vous devez créer la fonction avant de créer le trigger.  Vous avez un exemple complet ici : https://docs.postgresql.fr/10/plpgsql-trigger.html

Hors ligne

Pied de page des forums