|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Membre du Club
![]() Inscription : juin 2006 Messages : 241 ![]() |
Bonjour,
Je voudrais à l'aide d'une requête, mettre à jour les données d'une table pas l’intermédiaire d'une autre. Code :
Code :
Code :
Avez vous une idée ? Merci |
||||||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 655 ![]() |
Bonjour,
Quelle est votre erreur en fait ? Sinon, qu'allez-vous faire en cas de doublon ? |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : juin 2006 Messages : 241 ![]() |
L'erreur est la suivante :
la relation "table_a" n'existe pas |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 655 ![]() |
Pouvez-vous poster le script de création exact de la table_a ?
|
|
|
00
|
|
|
#5 | ||
|
Membre du Club
![]() Inscription : juin 2006 Messages : 241 ![]() |
Voila :
Code :
|
||
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : octobre 2008 Messages : 1 508 ![]() |
table_a qui n'existe pas, c'est peut-être qu'elle a été créée avec des majuscules et implicitement des guillemets autour (problème récurrent avec pgadmin et l'usage des majuscules)
Mais par ailleurs l'update corrélé est mal écrit. Ce serait plutôt: Code :
UPDATE table_b SET id_B = id_A FROM table_a WHERE table_a.nom = table_b.nom AND table_a.prenom = table_b.prenom; |
|
|
10
|
|
|
#7 | ||
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 655 ![]() |
oki bon,
j'ai un gros doute avec votre syntaxe d'update. En v9.1 celle-ci plante et ca me parait logique. Vous n'aurez pas de problème de doublon dû à votre contrainte d'unicité (mais pour moi c'est contrainte est incohérente). Je ne comprend pas non plus le but de votre démarche vu que vous risquez d'avoir des problème de duplication de primary key dans la table_b, et encore pire si vous utilisez aussi un serial pour la pk de la table_b. Bref, essayez avec cette syntaxe : Code :
|
||
|
|
00
|
|
|
#8 | |
|
Membre du Club
![]() Inscription : juin 2006 Messages : 241 ![]() |
Citation:
Grâce a vous j'ai appris la bonne structure à utiliser et vous m'avez montré mon erreur ! Merci ! |
|
|
|
00
|
|
|
#9 | |||
![]() ![]() Inscription : octobre 2008 Messages : 1 508 ![]() |
Citation:
Ce genre de création implicite est mentionnée sous la forme de "NOTICE" en retour du CREATE TABLE. Je ne sais pas si pgadmin les affiche par défaut (psql le fait en tout cas). |
|||
|
|
00
|
|
|
#10 |
|
Membre du Club
![]() Inscription : juin 2006 Messages : 241 ![]() |
Merci !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com