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 colonne3qui me manquait.
Merci pour le dépannage !
Thomas
Dernière modification par Thomas Williamson (05/11/2013 16:02:48)
Hors ligne