Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

 La 5ème édition des GeoDataDays aura lieu les 14 et 15 septembre 2022 au Futuroscope de Poitiers. 

Le détail du programme et des intervenants est disponible sur le site de l'évènement.

#1 Thu 12 May 2022 16:43

bcxav631
Membre
Date d'inscription: 25 Mar 2022
Messages: 3

Mis à jour de données avec Update

Bonjour à tous,

Je voudrais mettre à jour une table dans une base de données postgreSQL.
J'ai donc une table A avec la géométrie correcte et une table B avec la géométrie incorrect.
J'ai un ID commun entre ces deux tables pour la même géométrie.
Je cherche à mettre à jour la table B avec la géométrie de la table A ?

Je vous montre mon exemple de requête mais cela ne fonctionne pas.

UPDATE Table_B

SET Table_B."geom" = Table_A"geom"

FROM Table_A

where Table_B."id" = Table_A.""id"

and Table_B."id" = 'xxxxxxxxxxx'


Merci de votre aide,

Hors ligne

 

#2 Fri 13 May 2022 12:04

ppluvinet
Membre
Lieu: LYON
Date d'inscription: 6 Aug 2007
Messages: 581

Re: Mis à jour de données avec Update

Bonjour,
A part les quelques soucis de syntaxe (cf les guillemets et les points), cela devrait fonctionner.
Peut-être y a t il une contrainte sur la TableB qui bloque ?
Quel est le message d'erreur ?


Pascal PLUVINET

Hors ligne

 

#3 Fri 13 May 2022 12:10

JP LLORENS
Membre
Date d'inscription: 12 Nov 2008
Messages: 218

Re: Mis à jour de données avec Update

Bonjour.
Quel est le message d'erreur ?
Sous réserve que votre requête ait été écrite telle que celle que l'on peut voir dans votre message :
- je supprimerai toutes les doubles quotes '' pour éviter les doublons ou les oublis : ex

Code:

where Table_B."id" = Table_A.""id"

- il manque un point (.) avant geom dans une ligne

Code:

SET Table_B."geom" = Table_A"geom"

- vous ajoutez un critère  Table_B."id" = 'xxxxxxxxxxx' => seule la ligne avec l'id 'xxxxxxx' sera mise à jour

Bon ppluvinet a été plus rapide que moi !

JP

Hors ligne

 

#4 Fri 13 May 2022 16:10

bcxav631
Membre
Date d'inscription: 25 Mar 2022
Messages: 3

Re: Mis à jour de données avec Update

Merci beaucoup pour votre aide à tous les deux !!

Finalement j'ai utilisé une sous requête :

UPDATE table_A

SET "geom" = ( select "geom" FROM table_A WHERE id = 'xxxxx')

WHERE id = 'xxxxxx' ;

Merci en tout cas de m'avoir répondu et d'avoir pris du temps !

Bon week-end à vous wink

Hors ligne

 

Pied de page des forums

Powered by FluxBB

Partagez  |