From: | Sylvain Benet - Rugama <sylvain(at)rugama(dot)com> |
---|---|
To: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: Comment retrouver la table à partir d' |
Date: | 2005-03-09 17:12:25 |
Message-ID: | 422F2E79.6040502@rugama.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Merci pour vos réponses.
J'ai une autre solution grâce à l'héritage de postgresql que je viens
d'implémenter et qui fonctionne vraiment très bien.
Je vous l'expose ci dessous.
Vos commentaire sont bien entendu les biens venus.
Ceci est un exemple et ne ressemble pas à mon système mais s'en inspire.
Une table t_elem racine de tout élements :
*t_elem (*
uid serial NOT NULL,
datecreated timestamp NOT NULL DEFAULT now(),
title text,
CONSTRAINT t_elem_pkey PRIMARY KEY (uid)
)
*t_film (*
runtime time,
CONSTRAINT t_film_pkey PRIMARY KEY (uid)
) INHERITS (t_elem)
*t_picture (*
width int2,
height int2,
CONSTRAINT t_film_pkey PRIMARY KEY (uid)
) INHERITS (t_elem)
Pour ajouter un film :
INSERT INTO t_film ( "title", "runtime") VALUES ( "Baraka" , "01:36:00")
Pour ajouter une image
INSERT INTO t_picture ( "title", "width", "height") VALUES ( "Baraka
cover" , 800, 600)
Résultat:
SELECT * FROM "t_elem"
t_elem
1 | 9/3/2004 18:00:00 | Baraka
2 | 9/3/2004 18:01:00 | Baraka cover
SELECT * FROM "t_film"
1 | 9/3/2004 18:00:00 | Baraka | 01:36:00
SELECT p.relname, t.* FROM t_elem t, pg_class p WHERE t.tableoid = p.oid
t_film | 1 | 9/3/2004 18:00:00 | Baraka
t_picture | 2 | 9/3/2004 18:01:00 | Baraka cover
Je suis un peu naif, mais c'est presque de l'objet ça, non ?
Enfin ca marche bien, pas besoin de trigger, pas besoin de table de
liaison, juste l'utilisation de fonctionnalité native de postgresql
Sylvain
PS: Juste une question pour Stéphane Brunel, que signifie "(...)" à la
fin de votre message ? Je ne suis pas très habitué des mailing liste et
je ne comprend pas trop le sens. Aurais-je fais une erreur quelque part ?
From | Date | Subject | |
---|---|---|---|
Next Message | Sylvain Benet - Rugama | 2005-03-09 18:09:14 | Re: Comment retrouver la table à |
Previous Message | Stéphane Bunel | 2005-03-09 13:16:01 | Re: [pgsql-fr-generale] Re: [pgsql-fr-generale] Comment retrouver la table à partir d'un OID |