Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/07/2006, 14h41   #1
Membre du Club
 
Avatar de wwave
 
Inscription : avril 2004
Messages : 189
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : avril 2004
Messages : 189
Points : 52
Points : 52
Par défaut insertion à base d'un select

Bonjour,

Je cherche la façon insérer des lignes dans une table avec :
des valeurs de colonnes provenant d'une autre table et des colonnes dont je fixe la valeur.
J'essaye de faire celà comme ça :

INSERT INTO "departement" ("the_geom", "numero_departement", "nom_departement", "date_maj")
SELECT "the_geom", "code_dept", "nom_dept" FROM "geofla"."departement",
CAST((SELECT to_char(CURRENT_DATE,'YYYYMMDD')) AS INT);

Et il me répond : INSERT HAS MORE TARGET COLUMNS THAN EXPRESSIONS

Help !!

WwAvE
wwave est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2006, 18h39   #2
Membre chevronné
 
Avatar de Spoutnik
 
Homme
Inscription : octobre 2003
Messages : 668
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32
Localisation : Etats-Unis

Informations forums :
Inscription : octobre 2003
Messages : 668
Points : 746
Points : 746
Hello,

Ton erreur signale que le nombre de colonnes déclarées ne correspond pas ua nombre de colonnes que renvoie ta requête 'SELECT'.

Il faut que ton 'SELECT' soit bon, et ce n'est pas le cas (Calcul de valeur après le FROM qui n'est pas utile).
Code :
1
2
3
4
5
6
7
 
SELECT 
    "the_geom", 
    "code_dept", 
    "nom_dept" 
    CAST((SELECT to_char(CURRENT_DATE,'YYYYMMDD')) AS INT)
FROM "geofla"."departement"
(Vérifie que ta clause FROM désigne la bonne table)

Ensuite, tu pourra rajouter ton insert :

Code :
1
2
3
4
5
6
7
8
 
INSERT INTO "departement" ("the_geom", "numero_departement", "nom_departement", "date_maj")
SELECT 
    "the_geom", 
    "code_dept", 
    "nom_dept" 
    CAST((SELECT to_char(CURRENT_DATE,'YYYYMMDD')) AS INT)
FROM "geofla"."departement"
voila!
__________________
Two beer or not two beer. (Shakesbeer)
Question technique par MP => poubelle!
Spoutnik est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h11.


 
 
 
 
Partenaires

Hébergement Web