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 19/03/2005, 16h11   #1
Membre habitué
 
Inscription : mai 2002
Messages : 635
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 635
Points : 109
Points : 109
Par défaut [fonction age]

Bon je pose ma question ici car déjà posée dans le forum PHP mais on m'a dit que le SGBD pouvait le faire directement:

Alors j'ai une colonne "date" dans ma table et une colonne "age" qui parait-il peut être renseignée directement grace à la fonction age(timestamp 'datedenaissance').

Mais lors de l'insertion des données comment passer la date de naissance en paramètre à cette fonction pour que la colonne age soit renseignée automatiquement ?

Merci
viny est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2005, 18h45   #2
Membre émérite
 
Avatar de hpalpha
 
Inscription : mars 2002
Messages : 770
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 770
Points : 833
Points : 833
peut etre avec un petit trigger ?

Code :
1
2
3
CREATE TRIGGER "tg_agenais" BEFORE INSERT OR UPDATE 
ON "public"."matable" FOR EACH ROW 
EXECUTE PROCEDURE "public"."ftg_agenais"();
Code :
1
2
3
4
5
6
7
8
9
CREATE OR REPLACE FUNCTION ftg_agenais()
  RETURNS "trigger" AS
$BODY$
begin
  NEW.lage:=age(NEW.ladate);
  RETURN NEW;
end;
$BODY$
  LANGUAGE 'plpgsql' IMMUTABLE;
hpalpha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/03/2005, 20h15   #3
Membre habitué
 
Inscription : mai 2002
Messages : 635
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 635
Points : 109
Points : 109
ok merci
viny est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web