Problème de clée étrangère

Résolu
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 10 janv. 2006 à 10:40
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 12 janv. 2006 à 14:51
Bonjour à tous,

Mon problème vient du faite que j'ai plusieurs tables dans une base de données dont une table personne et j'ai un programme qui ecrit des requete INSERT dans cette table personne. mais le problème c'est que cette table personne contient une clée etrangère "Voiture". En faite ma question est : si j'ecris une requete INSERT avec une clée etrangère voiture qui n'existe plus dans la base y'a t'il un moyen que la base ne tiennent pas compte de cette requete ou qq chose dans le genre ... ou bien qu'elle supprime la requete.

Par avance, merci.

3 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
10 janv. 2006 à 22:07
Salut,

tu peux utiliser les transactions.
si la requete ne passe pas alors elle passe en rollback
sinon en commit.

Mais il n'est pas conseillé de faire cela car les rollback sont un style d'exception.
Qui est au niveau performance pas tres recommandé.
Il est conseille de tester ta valeur avant d'enregistrer.

Exemple dans une procédure stockée
if not @id_voiture is null
begin
insert into personne ( ) values()
end

ou dans le code

la tu cherches comment faire cela depend du langage.

bonne programmation
3
cs_pluplu Messages postés 615 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 4 juillet 2012
11 janv. 2006 à 18:27
De toute évidence Il y a un problème de modèlisation, on ne devrais pas pouvoir ajouter de record à une table dont la clé étrangère est inexistante, sinon quand est il de l'intégrité de la base ?
Imaginons j'ai une table Client et une table Commande dans la table Commande j'ai une clé étrangère sur la table Client. Est il vraiment logique de pouvoir ajouter une commande si je ne peux pas l'attribuée à un client ??

Pascal Laurençon
3
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
12 janv. 2006 à 14:51
merci de vos réponse je vais essayer d'empecher ca en verifiant au préalable alors
0
Rejoignez-nous