Skip site navigation (1) Skip section navigation (2)

Re: Comment retrouver la table à partir d'

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 (view raw or flat)
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 ?

Responses

pgsql-fr-generale by date

Next:From: Sylvain Benet - RugamaDate: 2005-03-09 18:09:14
Subject: Re: Comment retrouver la table à
Previous:From: Stéphane BunelDate: 2005-03-09 13:16:01
Subject: Re: [pgsql-fr-generale] Re: [pgsql-fr-generale] Comment retrouver la table à partir d'un OID

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group