|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() |
Bonjour,
J'ai fait une requete où je retrouve des enregistrements que je dois supprimer. mais ma requete ne fonctionne qu'en select et pas en delete from. j'ai des enregistrements à supprimer dans les 2 tables, car ils sont liés. Je n'ai pas la possibilité de faire une table puis l'autre. J'ai des champs non utilisés et je pensais faire un update d'abord et ensuite aller sur chaque table faire un delete, mais je n'arrive pas non plus à le faire .... si vous pouvez m'aider ça me rendrait grandement service. ( j'avais plus l'habitude de faire cela avec mssql) Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() |
Bonjour,
Faites un screen du retour de votre requête d'un peu du contenu des tables. En plus, vous utilisez deux tables et aucune jointure à ce que je vois ? ... EDIT : Des alias aussi simplifieront la tache de compréhension. |
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() |
Bonsoir, celle-la est ma première requête :
Code :
|
||
|
|
00
|
|
|
#4 | ||
|
Invité de passage
![]() |
ou bien comme cela ?
Code :
|
||
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() ![]() |
Pour faire un delete il faut que tu utilises la syntaxe suivante :
Code :
DELETE * FROM table_supprimer WHERE champ IN (SELECT champ FROM table_reference INNER....)
__________________
N'oubliez pas le Tag : ![]() C'est en parvenant à nos fins par l'effort, en étant prêt à faire le sacrifice de profits immédiats en faveur du bien-être d'autrui à long terme, que nous parviendrons au bonheur caractérisé par la paix et le contentement authentique. [Dalaï Lama] Je ne réponds pas aux messages privés s'ils sont liés à une question du forum Mon site sur Developpez.com |
|
|
00
|
|
|
#6 | |
|
Invité de passage
![]() |
Bonjour,
Merci j'ai fait ce que vous m'avez demandé, mais j'ai une violation de contrainte Citation:
Merci beaucoup |
|
|
|
00
|
|
|
#7 |
|
Membre confirmé
![]() |
Il faut identifier la contrainte d'intégrité et utiliser un delete en cascade sinon supprimer les champs fils puis parents.
Faites une recherche sur la syntaxe exacte de la commande DELETE. |
|
|
00
|
|
|
#8 | ||
|
Membre Expert
![]() ![]() |
De ce que je vois de ton code, as-tu essayé cela :
Code :
__________________
N'oubliez pas le Tag : ![]() C'est en parvenant à nos fins par l'effort, en étant prêt à faire le sacrifice de profits immédiats en faveur du bien-être d'autrui à long terme, que nous parviendrons au bonheur caractérisé par la paix et le contentement authentique. [Dalaï Lama] Je ne réponds pas aux messages privés s'ils sont liés à une question du forum Mon site sur Developpez.com |
||
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() |
en fait j'ai trouvé une solution pour contourner la contrainte.
dans les tables, les enregistrements cherchés ne peuvent se trouver qu'avec la condition d'un champ de la table fac et la condition d'un autre champ de la table lig.... c'est le chat qui se mort la queue ![]() j'ai donc fait un update sur un champ non utilisé de chacune de ces tables, pour ensuite aller supprimer mes enregistrements dans l'ordre, lig puis fac. ça vous semble ok dans le doc joint ? merci, et merci pour votre aide. |
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() ![]() |
Cela me semble correct...
__________________
N'oubliez pas le Tag : ![]() C'est en parvenant à nos fins par l'effort, en étant prêt à faire le sacrifice de profits immédiats en faveur du bien-être d'autrui à long terme, que nous parviendrons au bonheur caractérisé par la paix et le contentement authentique. [Dalaï Lama] Je ne réponds pas aux messages privés s'ils sont liés à une question du forum Mon site sur Developpez.com |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() |
j'ai fait un test, et c'est concluant.
Merci encore . Bonne soirée |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com