Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1147 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  PB de delete on cascade qui ne se fait pas

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PB de delete on cascade qui ne se fait pas

n°1433833
lipaika
Posté le 30-08-2006 à 17:24:52  profilanswer
 

Bonjour,  
 
j'ai défini une clé étrangère dans la table contrat qui référence la table bailleur. J'ai défini ce champ on delete set NULL, puis on delete cascade et aucun changement n'apparaît.  
 
Voici mes résultats :  
 
TABLE_NAME                     CONSTRAINT_NAME                C DELETE_RU
------------------------------ ------------------------------ - ---------
CONTRAT                        CONTRAT_CONTRATID_PK           P
CONTRAT                        FK_CONTRAT_BAILLEUR            R CASCADE
CONTRAT                        FK_CONTRAT_REGLEEVOL           R NO ACTION
CONTRAT                        FK_CONTRAT_CONTRAT             R NO ACTION
CONTRAT                        FK_CONTRAT_LIVRAISON           R NO ACTION
CONTRAT                        FK_CONTRAT_LIVRAISON_2         R NO ACTION
CONTRAT                        FK_CONTRAT_ADDCONTRAT          R NO ACTION
CONTRAT                        FK_CONTRAT_DEVISE              R NO ACTION
CONTRAT                        FK_CONTRAT_GROUPECTR           R NO ACTION
CONTRAT                        FK_CONTRAT_POLICE              R NO ACTION
 
SQL> delete from bailleur where bailleurid=67970551;
delete from bailleur where bailleurid=67970551
*
ERREUR à la ligne 1 :
ORA-02292: integrity constraint (ASSETTEST.FK_CONTACTBAIL_BAILLEUR) violated - child record found

 
 
SQL> select bailleurid, contratid from contrat where contratid=68276671;
 
BAILLEURID  CONTRATID
---------- ----------
  67970551   68276671
 
Est-ce parce que d'autres foreign key sont définies en NO ACTION que le contrat n'a pas été supprimé??
 
Y a t'il une solution à ce problème?
 
Merci

mood
Publicité
Posté le 30-08-2006 à 17:24:52  profilanswer
 

n°1433915
lipaika
Posté le 30-08-2006 à 18:40:06  profilanswer
 

Réponse trouvée :  
 
Dès lors que plusieurs contraintes font références à un même champ (bailleurid), si un de ces champ interdit la suppression du bailleur par la présence du NO ACTION, ce champ n'est pas supprimé dans la table mère et donc dans aucune des tables filles, ce qui semble tout de même plus que logique. Dsl pour cette question non réfléchie...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  PB de delete on cascade qui ne se fait pas

 

Sujets relatifs
[C#] Tracer les delete du Garbageprobleme ON UPDATE CASCADE MYSQL
[Besoin d'aide] Un DELETE assez TorduUn bon GUI builder en Java Swing et gratuit ? (JTables en cascade !)
SQL Serveur et "on delete cascade"SQL delete from (VB6)
[Résolu]delete mysql sous php[Résolu] [VBS] Je cherche l'équivalent de net use * /delete /yes
[SqlServer] DELETE ds une table distante : pb avec le WHERE 
Plus de sujets relatifs à : PB de delete on cascade qui ne se fait pas


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR