IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

probleme de suppression


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 97
    Par défaut probleme de suppression
    Bonjour,Bonsoir
    j'ai un petit problème ici
    voila, je possède une base de données qui contient deux tables(" citerne et article "). la table citerne est définie par des colonnes ( codec,nomc,codearticle)
    par contre la table article contient les champs suivants ( codearticle,designation,stock..); Sachant que le codearticle du citerne est une clé étrangère.
    quand je veux supprimer une ligne de la table article, les enregistrements de la table citerne dont le codearticle est celui qui se trouve dans article devront etre supprimés( c'est normal ) mais l'erreur suivante se produit :
    L'instruction DELETE est en conflit avec la contrainte REFERENCE "FK_Citerne_Article". Le conflit s'est produit dans la base de données "V2", table "dbo.Citerne", column 'CodeA'.
    L'instruction a été arrêtée.


    ya quelqu'un qui peut me fournir une requete exacte s'il vous plait

    merci de votre aideee!!

  2. #2
    Membre éclairé Avatar de SetaSensei
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 78
    Par défaut
    Bonjour,

    Si j'ai bien compris votre problème, lorsque vous voulez supprimer un enregistrement dans la table "article", vous avez bien supprimé les entrées dans citerne correspondant et pourtant vous avez toujours une erreur de FK ?

    Pourriez-vous déjà vérifier que votre FK est bien définie dans le bon sens ? Ensuite, qu'il n'y a pas dans votre code de suppression une erreur précédant celle de suppression ?
    Enfin, si vous utilisez les transactions, vérifiez bien soit que vous êtes toujours dans la même transaction soit que la transaction précédente passe bien par un commit (évidemment l'idéal étant d'être toujours dans la même transaction).
    (C'est bête mais parfois ce sont ces erreurs d'inattention qui coûtent le plus de temps à débugger )

    Sinon assurez-vous bien d'avoir une requête de suppression du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    delete from citerne 
    where
    	codearticle = @codearticle
     
    delete from article
    where
    	codearticle = @codearticle
    Dans cet ordre.

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    Une solution serait de gérer votre contrainte de clef étrangères FOREIGN KEY en mode DELETE CASCADE.
    Lisez ce ue j'ai écrit à ce sujet : http://sqlpro.developpez.com/cours/s...partie2#L7.3.2

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 97
    Par défaut
    oui voila sqlpro , merci

    il faut bien utiliser on delete cascade au moment de l'ajout du clé etrangere

    alter table citerne
    add foreign key(codea) references article(codea) on delete cascade


    Mercii à SQLPRO et Merci à SETASENSEI !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme de suppression de fichier
    Par ythim dans le forum Langage
    Réponses: 6
    Dernier message: 10/07/2006, 07h40
  2. probleme de suppression apartir du fichier
    Par letoil dans le forum C
    Réponses: 3
    Dernier message: 05/05/2006, 00h02
  3. [VBA] Problem de suppression de composant
    Par jesus144 dans le forum IHM
    Réponses: 9
    Dernier message: 26/04/2006, 10h03
  4. [REDHAT] Problème de suppression avec dépendance
    Par byloute dans le forum RedHat / CentOS / Fedora
    Réponses: 1
    Dernier message: 21/04/2006, 18h19
  5. Réponses: 1
    Dernier message: 11/01/2006, 19h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo