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

Langage SQL Discussion :

Delete et contrainte clé etrangère


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 122
    Points : 54
    Points
    54
    Par défaut Delete et contrainte clé etrangère
    Bonjour,

    j'ai une table projet qui a comme clé primaire "projetID", chaque projet a des taches alors ds ma table tache qui a comme clé primaire "taskID" j'ai la clé etrangère "ProjetID".

    mnt lors je ne peux faire la suppression d'un projet a partir du grid vue qu'il y la contrainte de clé etrangère.

    je voulais savoir svp comment faire pour a chaque fois que je supprime un projet on supprime automatiquement les taches qui lui ont affecté dans la table taches...

    je ne sais pas comment faire,j'ai essayè avec les triggers mais ca marche po comme il faut...
    je pense que la solution ca serait la suppresion en cascade mais j'ai aucune idèe sur l'utilisation..je veux dire est ce que je dois ajouté une clause ds ma requête sql "delete cascade..." ou faire des modif sur le SGBD (SqlServerExpress)



    Merci d'avance

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    Bonjour,

    Ca se fait dans la définition de contrainte de clé etrangère, en précisant : ON DELETE CASCADE

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 122
    Points : 54
    Points
    54
    Par défaut
    comment faire ?

    plus de detail stp


    merci d'avance

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    Un exemple récupéré sur le net après une recherche google d'une trentaine de secondes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE order_part
    (order_nmbr int,
    part_nmbr int
    FOREIGN KEY REFERENCES part_sample(part_nmbr)
    ON DELETE CASCADE)
    Je te laisse adapter

  5. #5
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Si votre clé étrangère existe vous devez d'abord la supprimer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE dbo.tache
    DROP CONSTRAINT FK_nomcontrainte
    et la recréer en ajoutant la définition ON DELETE CASCADE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE dbo.tache
    ADD CONSTRAINT FK_nomcontrainte FOREIGN KEY (projetID) REFERENCES dbo.projet(projetID) ON DELETE CASCADE
    ++

  6. #6
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 122
    Points : 54
    Points
    54
    Par défaut
    Merci bcp Brother !

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

Discussions similaires

  1. Delete et contrainte de clé étrangère
    Par guyfoot dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/05/2010, 13h57
  2. contrainte ON DELETE
    Par yasmine* dans le forum Requêtes
    Réponses: 2
    Dernier message: 23/05/2007, 15h59
  3. aide en sql pour contraintes de clé etrangère
    Par nguex dans le forum Windows
    Réponses: 2
    Dernier message: 25/04/2007, 14h07
  4. Ajouter la contrainte ON DELETE SET NULL a postériori
    Par EvilAngel dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 24/09/2006, 11h36
  5. [debutant]delete et contrainte d'integrite
    Par christophebmx dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 02/11/2004, 22h18

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