{Oracle} une requette DELETE
Fermé
angelique1
Messages postés
81
Date d'inscription
jeudi 19 mars 2009
Statut
Membre
Dernière intervention
18 septembre 2014
-
29 déc. 2009 à 12:19
devMan Messages postés 74 Date d'inscription jeudi 10 décembre 2009 Statut Membre Dernière intervention 16 septembre 2010 - 4 janv. 2010 à 09:13
devMan Messages postés 74 Date d'inscription jeudi 10 décembre 2009 Statut Membre Dernière intervention 16 septembre 2010 - 4 janv. 2010 à 09:13
A voir également:
- Ora-02292
- Hiberfil.sys delete - Guide
- Juste delete me - Guide
- *#9900# delete dumpstate/logcat - Forum Samsung
- Identificateur non valide oracle ✓ - Forum Bases de données
- Oracle america inc virus ✓ - Forum Virus
12 réponses
Salut
La structure d'un delete avec jointure n'existe pas ! la syntaxe que tu as utilisé est tout à fait valide.
ton problème est qu'il existe des lignes qui dépendent de certains coureurs Festina. Si tu supprimes ces coureurs, les lignes dépendant de ces coureurs se retrouvent à ne plus dépendre de quoi que ce soit... et ça, c'est pas bon.
c'est similaire à si tu voulais supprimer l'équipe Festina : tu supprimerais d'abord les coureurs qui en dépendent.
tu dois donc d'abord supprimer les lignes qui dépendent des coureurs à supprimer... Je suppose qu'elles sont dans des tables dont tu ne nous a pas parlé
une fois cette suppression réalisée, tu pourras supprimer tes coureurs Festina.
essaie donc
La structure d'un delete avec jointure n'existe pas ! la syntaxe que tu as utilisé est tout à fait valide.
ton problème est qu'il existe des lignes qui dépendent de certains coureurs Festina. Si tu supprimes ces coureurs, les lignes dépendant de ces coureurs se retrouvent à ne plus dépendre de quoi que ce soit... et ça, c'est pas bon.
c'est similaire à si tu voulais supprimer l'équipe Festina : tu supprimerais d'abord les coureurs qui en dépendent.
tu dois donc d'abord supprimer les lignes qui dépendent des coureurs à supprimer... Je suppose qu'elles sont dans des tables dont tu ne nous a pas parlé
une fois cette suppression réalisée, tu pourras supprimer tes coureurs Festina.
essaie donc
select fils.constraint_name, fils.table_name, col.column_name from all_constraints pere, all_constraints fils, all_cons_columns col where pere.constraint_name = fils.r_constraint_name and fils.constraint_name = col.constraint_name and pere.table_name='COUREUR' and pere.constraint_type='P'ça devrait te lister la (les) table(s) et colonne(s) référençant tes coureurs et qui bloquent la suppression.
salut
tu as tout simplement des lignes dans une table X ou Y qui font référence à l'un des coureurs que tu veux supprimer.
tu as tout simplement des lignes dans une table X ou Y qui font référence à l'un des coureurs que tu veux supprimer.
angelique1
Messages postés
81
Date d'inscription
jeudi 19 mars 2009
Statut
Membre
Dernière intervention
18 septembre 2014
10
29 déc. 2009 à 22:13
29 déc. 2009 à 22:13
bain j'ai une table EQUIPE(codeEquipe,nomEquipe,......)ou codeEQUIPE est une clés primaire
et table COUREUR(numeroCoureur,...,codeEquipe)
voila la structure des tables
s'il vous plais donné moi la structur d'un delete avec jointur
et table COUREUR(numeroCoureur,...,codeEquipe)
voila la structure des tables
s'il vous plais donné moi la structur d'un delete avec jointur
holow1
Messages postés
680
Date d'inscription
lundi 21 décembre 2009
Statut
Membre
Dernière intervention
7 décembre 2012
71
30 déc. 2009 à 00:57
30 déc. 2009 à 00:57
bonjour,
pour la 1ère problème c'est normal d'afficher violation de contrainte d'intégrité
pour la 2ème problème tu n'a qu' applique la contrainte de clé étrangère
pour la 1ère problème c'est normal d'afficher violation de contrainte d'intégrité
pour la 2ème problème tu n'a qu' applique la contrainte de clé étrangère
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
espoirfazou
Messages postés
2
Date d'inscription
dimanche 13 avril 2008
Statut
Membre
Dernière intervention
17 septembre 2010
30 déc. 2009 à 09:22
30 déc. 2009 à 09:22
salut
essaie avec cette requete
delete *
from courreur
where courreur.codequipe=equipe.codeequipe
and equipe.nomequipe='festina'
bonne chance
essaie avec cette requete
delete *
from courreur
where courreur.codequipe=equipe.codeequipe
and equipe.nomequipe='festina'
bonne chance
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
30 déc. 2009 à 20:49
30 déc. 2009 à 20:49
Plusieur solution:
Soit tu supprimes la contrainte sur les tables où tu as ta foreign key...
Soit tu modifie ta contrainte pour que les lignes des tables ayant ta clé étrangère soient delete aussi...
https://www.techonthenet.com/oracle/foreign_keys/foreign_delete.php
A manipuler avec précaution!!
@+
Soit tu supprimes la contrainte sur les tables où tu as ta foreign key...
Soit tu modifie ta contrainte pour que les lignes des tables ayant ta clé étrangère soient delete aussi...
https://www.techonthenet.com/oracle/foreign_keys/foreign_delete.php
A manipuler avec précaution!!
@+
devMan
Messages postés
74
Date d'inscription
jeudi 10 décembre 2009
Statut
Membre
Dernière intervention
16 septembre 2010
15
31 déc. 2009 à 10:01
31 déc. 2009 à 10:01
Saluit,
Dans des situations similaires en MySQl
nous utilisons la suppression en cascade....
la il me semble que tu dois definir aussi delete/update en Cascade sur foreign key..
je suis pas sur !!!!
Dans des situations similaires en MySQl
nous utilisons la suppression en cascade....
la il me semble que tu dois definir aussi delete/update en Cascade sur foreign key..
je suis pas sur !!!!
Soyons un peu sérieux !
est-ce qu'un utilisateur standard a la possibilité d'activer ou de désactiver des contraintes ?
a-t-il la possibilité de modifier des contraintes ?
pourquoi mettre en place des contraintes si c'est pour les supprimer par la suite ?
est-ce qu'un utilisateur standard a la possibilité d'activer ou de désactiver des contraintes ?
a-t-il la possibilité de modifier des contraintes ?
pourquoi mettre en place des contraintes si c'est pour les supprimer par la suite ?
devMan
Messages postés
74
Date d'inscription
jeudi 10 décembre 2009
Statut
Membre
Dernière intervention
16 septembre 2010
15
31 déc. 2009 à 11:54
31 déc. 2009 à 11:54
j'ai dis pas qu"il va supprimer les contraintes ...c pas ça
je veux dire qu'il doit ajouter les propriétés ON DELETE CASCADE et ON UPDATE CASCADE a la clef étrangère ..
et quand il supprime un primary key il va supprimer automatiquement ses clef étrangère...
Effacement du 'père' => Effacement des 'fils' (en cascade)
s'il est les droit bien sur ....
je veux dire qu'il doit ajouter les propriétés ON DELETE CASCADE et ON UPDATE CASCADE a la clef étrangère ..
et quand il supprime un primary key il va supprimer automatiquement ses clef étrangère...
Effacement du 'père' => Effacement des 'fils' (en cascade)
s'il est les droit bien sur ....
Salut
Primo: nous ne savons pas si Angelique1 a le droit de modifier les contraintes sur les tables utilisées
Secundo: le cascade est une mauvaise habitude: le jour où l'on supprime accidentellement un client, on supprime automatiquement ses devis, ses commandes, ses livraisons, ses factures et ses règlements... la bonne affaire.
la solution ici reste de faire du ménage dans participant puis de repasser la requête initiale.
Primo: nous ne savons pas si Angelique1 a le droit de modifier les contraintes sur les tables utilisées
Secundo: le cascade est une mauvaise habitude: le jour où l'on supprime accidentellement un client, on supprime automatiquement ses devis, ses commandes, ses livraisons, ses factures et ses règlements... la bonne affaire.
la solution ici reste de faire du ménage dans participant puis de repasser la requête initiale.
angelique1
Messages postés
81
Date d'inscription
jeudi 19 mars 2009
Statut
Membre
Dernière intervention
18 septembre 2014
10
2 janv. 2010 à 00:29
2 janv. 2010 à 00:29
bonsoir bain quand j'ai creer l'utlisateur je lui ai donné tout les previleges
et en se qui concerne la table participant bain la clés primaire de la table coureur migre dans participant
et c quoi la structur du( on delete cascade) bain moi quand j'ai creer mes table j'ai desclaré mes contrainte normalemen sans fair le delete on cascade alor s'il vous plait comment pourrai je la rajouté
et en se qui concerne la table participant bain la clés primaire de la table coureur migre dans participant
et c quoi la structur du( on delete cascade) bain moi quand j'ai creer mes table j'ai desclaré mes contrainte normalemen sans fair le delete on cascade alor s'il vous plait comment pourrai je la rajouté
chuka
Messages postés
965
Date d'inscription
samedi 11 octobre 2008
Statut
Membre
Dernière intervention
29 juillet 2010
378
2 janv. 2010 à 11:28
2 janv. 2010 à 11:28
Salut,
tu as la reponse au post N°8
@+
tu as la reponse au post N°8
@+
angelique1
Messages postés
81
Date d'inscription
jeudi 19 mars 2009
Statut
Membre
Dernière intervention
18 septembre 2014
10
2 janv. 2010 à 19:29
2 janv. 2010 à 19:29
comment sa poste 8 svp
devMan
Messages postés
74
Date d'inscription
jeudi 10 décembre 2009
Statut
Membre
Dernière intervention
16 septembre 2010
15
4 janv. 2010 à 09:13
4 janv. 2010 à 09:13
c a dire reponse n°8 da la discussion
30 déc. 2009 à 10:38
par exemple cette requette veu dir supprimé tout les coureur qui font partit de l'equipe festina comme dans la table on a que le code de l'equipe et non le nom de l'equipe alor on ete obliger de fair une jointur
et pour ce que tu ma donné bain j'ai eu sa
CONSTRAINT_NAME TABLE_NAME COLUMN_NAME
FR_NUMCOUREUR PARTICIPANT NUMEROCOUREUR
merci essayée de m'aidé c vraiment gentille
30 déc. 2009 à 10:55
et si la base refuse la suppression des coureurs Festina, c'est simplement parce qu'il reste de ces coureurs qui sont présents (ou plutôt référencés) dans l'association PARTICIPANT (dont tu nous as jamais causé).
Je me permets de te renvoyer lire une fois de plus le chapitre "Intégrité référentielle". Une fois que tu l'auras assimilé, tout te paraitra beaucoup plus clair.