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

Développement SQL Server Discussion :

Comment supprimer une lignes d’une table qui ont une référence de clé étrangère nulle ?


Sujet :

Développement SQL Server

  1. #1
    Membre régulier
    Homme Profil pro
    test
    Inscrit en
    Mai 2016
    Messages
    344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : test
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Mai 2016
    Messages : 344
    Points : 121
    Points
    121
    Par défaut Comment supprimer une lignes d’une table qui ont une référence de clé étrangère nulle ?
    Bonjour a tous ,

    j'ai une colonne qui fait référence a une autre colonne sur le méme table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE [dbo].[DOM_TRAN]  WITH CHECK ADD  CONSTRAINT [FK_DOM_TRAN_FK_DOM_FU_DOM_TRAN] FOREIGN KEY([NUM_DOM_FUSION])
    REFERENCES [dbo].[DOM_TRANS] ([NOM_DEM])
    Lorsque je tente de supprimer une ligne, je rencontre une erreur de FK alors que la colonne de refernce est Null
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Msg 547, Level 16, State 0, Line 9
    The DELETE statement conflicted with the SAME TABLE REFERENCE constraint "FK_DOM_TRAN_FK_DOM_FU_DOM_TRAN". The conflict occurred in database "Produit", table "dbo.DOM_TRANS", column 'nom_dem_fusion '.
    The statement has been terminated.
    du coup ma question est le suivant si le colonne de référence est Null comment je peux supprimer ma ligne
    Merci

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 209
    Points : 12 794
    Points
    12 794
    Par défaut
    Bonjour,
    La Foreign Key "fonctionne" dans l'autre sens : si la colonne NUM_DOM_FUSION est nulle, ça signifie que la ligne ne référence aucune autre ligne, mais d'autres lignes peuvent toutefois référencer la ligne en question.
    Autrement dit: tu ne peux supprimer que les lignes dont la valeur de NOM_DEM n'apparaît pas dans la colonne NUM_DOM_FUSION.
    Il faut donc en premier lieu mettre à null cette colonne avant de supprimer les lignes en question.

    Tatayo

Discussions similaires

  1. Réponses: 8
    Dernier message: 14/05/2018, 20h08
  2. Réponses: 3
    Dernier message: 02/02/2018, 22h20
  3. [PowerShell] comment supprimer des lignes qui ne contiennent pas une chaine de caractère
    Par tomas_o_malley dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 16/11/2016, 12h27
  4. [JTreeTable] comment supprimer une ligne
    Par seiryujay dans le forum Composants
    Réponses: 10
    Dernier message: 03/08/2005, 09h12
  5. [C#] Comment supprimer une ligne dans DataGrid ?
    Par BAUDIER dans le forum ASP.NET
    Réponses: 2
    Dernier message: 20/07/2004, 16h03

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