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

Printemps des cartes 2024

#1 Thu 12 May 2022 16:43

bcxav631
Juste Inscrit !
Date d'inscription: 25 Mar 2022
Messages: 6

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
Participant assidu
Lieu: LYON
Date d'inscription: 6 Aug 2007
Messages: 608

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
Participant assidu
Date d'inscription: 12 Nov 2008
Messages: 231

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
Juste Inscrit !
Date d'inscription: 25 Mar 2022
Messages: 6

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