|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre à l'essai
![]() |
Un petite question concernant une de mes requetes. Voilà le problème, lorsque que l'on veut faire un insert en postgresql on peut employer une syntaxe du type :
Code :
Code :
|
||||
|
|
00
|
|
|
#2 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2003 Messages : 17 ![]() |
Je ne pense pas que cela soit possible et je n'en vois pas vraiment l'intéret !
En effet, si tu veux faire cela, c que les tables sont identiques ou qu'elles ont au moins une relation sur un champ. Donc pourquoi ne pas faire simplement : Code :
|
||
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() |
en fait j'ai deux tables de structure identique.
Dans l'une se trouve les enregistrements à effacer dans l'autre. Mais je ne veux effacer un enregistrement que si TOUS les champs de l'enregistrement sont strictement identiques dans les deux bases (environs une centaine de champs). Je trouvais que cette solution etait exactement ce que j'avais besoin. Avec ta solution il faudrais que je fasse un IN sur la centaine de champs et je me demande si cela ne risque pas de prendre un temps très long (la base table1_toto contient 500 000 enregistrements et la base table2_toto 10 000). Si tu penses qu'il y a une solution convenant peut etre mieux a mon problème avec ces renseignements supplémentaires...sinon je vais essayer ta solution avec les IN pour voir le temps d'exection. |
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2003 Messages : 17 ![]() |
Je comprends mieux ton problème et c clair que ca risque d'etre lourd avec les 100 champs !
Mais j'ai du mal à comprendre pourquoi tu n'utilise pas de clés uniques pour tes tables, tu n'aurais à faire la jointure que sur un seul champ. |
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() |
oui bonne remarque et reponse très simple c'est que l'on vient de me donner à travailler sur une base de données sans clé unique [hourra!!!] donc pour moi le seul moyen pour identifier les enregistrements à effacer est de comparer tous les champs qui ne doivent pas changer et de les supprimer si tous les champs sont identiques...bref un gros casse-tete.
|
|
|
00
|
|
|
#6 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2003 Messages : 17 ![]() |
Dans ce cas, la solution du IN est la seule qui me semble valable et je ne pense pas que ca prendra énormément de temps. Je crois que la clause IN est interprétée comme une succession de OR.
Donc ceci devrait marcher : Code :
sinon, bon courage |
||
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() |
merci pour tout je vais regarder tout ca.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com