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 05/11/2013 15:26:00

[RESOLU] Ajouter et remplir une colonne dans la même requête

Bonjour,


Je cherche à définir une vue qui reprend les colonnes d'une table et en ajoute une dont le contenu est le même pour toutes les lignes. Mettons que j'ai une table « table (gid, colonne1, colonne2) » et je souhaite définir une vue « v_table (gid, colonne1, colonne2, colonne3) ». La colonne 3 doit comporter toujours la même valeur (par exemple «a»). Comment écrire ma requête de définition de la vue ? J'ai essayé les deux pistes suivantes mais sans succès :


ALTER TABLE (SELECT * FROM table) ADD COLUMN colonne3 VARCHAR(1) DEFAULT 'a' ;

ou encore :


WITH tabletemp AS (SELECT * FROM table) ALTER TABLE tabletemp ADD COLUMN colonne3 VARCHAR(1) DEFAULT 'a' ;

Si quelqu'un a une idée...


Merci beaucoup !


Thomas

Dernière modification par Thomas Williamson (05/11/2013 16:03:01)

Hors ligne

#2 05/11/2013 15:52:46

arthurr
Membre

Re : [RESOLU] Ajouter et remplir une colonne dans la même requête

Bonjour,

vous parlez de vue, mais dans la première requête, vous essayez d'ajouter une colonne à votre table (la syntaxe est fausse quand même).
concernant votre 2ème requête, je n'ai aucune idée de ce que vous avez essayer de faire. smile

pour créer une vue toto avec une nouvelle colonne nommée colonne3 qui prend la valeur "yes" (champ texte) :

create view toto as (select *,'yes'::text as colonne3 from votre_table);

La doc sur les vues : http://docs.postgresql.fr/9.3/sql-createview.html

Hors ligne

#3 05/11/2013 16:02:34

Re : [RESOLU] Ajouter et remplir une colonne dans la même requête

Bonjour Arthurr,


C'est exactement ce que je cherchais à faire ! Désolé si je n'ai pas été clair... C'est la structure

'yes'::text as colonne3

qui me manquait.


Merci pour le dépannage !


Thomas

Dernière modification par Thomas Williamson (05/11/2013 16:02:48)

Hors ligne

Pied de page des forums