Vous n'êtes pas identifié(e).
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
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.
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
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