|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : avril 2004 Messages : 189 ![]() |
Bonjour,
J'ai 2 tables qui représentent des rues. L'une correspond au temps n (table1) et l'autre au temps n+1 (table2). Je veux supprimer de la table2 toutes les rues qui sont déjà dans la table1. J'ai commencé par ajouter aux 2 tables une colonne (checksum) qui concatène toutes les autres. Je voudrais exécuter une requête telle que DELETE table2.* FROM table1, table2 WHERE table1.checksum=table2.checksum; Mais il me dit "syntax error" car je ne peux faire que DELETE FROM .... Je pense du coup à écrire une fonction qui me mettrait dans une table les checksum qui apparaissent dans les 2 tables CREATE TABLE checksumArray(checksum text); SELECT table2.checksum INTO checksumArray FROM table1, table2 WHERE table1.checksum=table2.checksum; et faire une sorte de boucle : for(i=0;i<checksumArray.size;i++) DELETE FROM table2 WHERE checksum = checksumArray[i]; Celà est-il possible ? Merci d'avance de votre aide ! WwAvE |
|
|
00
|
|
|
#2 | ||||
![]() Inscription : juillet 2002 Messages : 537 ![]() |
Salut,
Deux possibilités selon moi : Code :
Sinon, il y a aussi possibilité de faire une jointure : Code :
|
||||
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : avril 2004 Messages : 189 ![]() |
Je connaissais pas le USING... parce que j'avais aussi essayer avec le select mais j'ai des tables qui sont ENORMES et du coup le processus était beaucoup trop long....
Merci !!! |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : août 2005 Messages : 21 ![]() |
à quoi sert le USING ?
|
|
|
00
|
|
|
#5 |
![]() Inscription : juillet 2002 Messages : 537 ![]() |
Dans ce cas, à faire une jointure pour déterminer les enregistrements à supprimer.
Voir l'exemple et l'explication en fin de cette page : http://www.postgresql.org/docs/8.1/i...ql-delete.html |
|
|
00
|
|
|
#6 | |
|
Invité régulier
![]() Inscription : août 2005 Messages : 21 ![]() |
Citation:
DELETE FROM table2 t2, table1 t1 WHERE t2.checksum = t1.checksum; |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com