Bonjour,
je voudrais vider une table qui dont la clé primaire est clé étrangère dans une autre table.
Comment pourrais-je m'y prendre?
Merci.
Bonjour,
je voudrais vider une table qui dont la clé primaire est clé étrangère dans une autre table.
Comment pourrais-je m'y prendre?
Merci.
2 solutions
soit définir la clé étrangère avec la clause cascade contrainte, ce qui détruit les enregistrements fils en même temps que les pères
soit vider les tables en commencant par le plus bas niveau de dépendance et en remontant vers le père
j'avais déja essayé la solution n°2 masi ça fonctionnait pas.
Je veux tester la solution 1
comment rajouter la clause cascade au niveau de la clé étrangère?
Tu as 2 solutions :
- Soit un delete * au lieu du truncate,
- Soit de désactiver les clés primaires et étrangères, faire un truncate et réactiver les clés.
http://oracle.developpez.com/sources...1#desactive_pk
http://oracle.developpez.com/sources...eau1#active_pk
http://oracle.developpez.com/sources...active_fk_user
http://oracle.developpez.com/sources...active_fk_user
script venant de la FAQ ORACLE.
En espérant t'avoir aidé.
un delete * ne fait pas la même chose qu'un truncate, de plus cela ne leve pas le controle d'intégritéEnvoyé par fdraven
quand a désactivé les clé, sa marche par contre elles ne serpnt pas réactivable après à cause du contrôle d'intégrité
j'ai utilisé le delete from table et cela focntionne merci.
Partager