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 :

Problème de suppressions en cascade redondantes


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 211
    Par défaut Problème de suppressions en cascade redondantes
    Voila le pb va être un peu difficile à expliquer mais je vais faire de mon mieux.

    J'ai un une table A qui est lié à deux sous table A1 et A2 avec la suppression en cascade activé (de A vers A1 et A2)

    Or j'ai une table B qui a des clés étrangères venant de A1 et A2 je voudrais donc activé la suppression en cascade depuis A1 vers B mais aussi depuis A2 vers B.

    Or SQL Server me dit que c'est impossible.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    - Impossible de créer la relation 'FK_Donnee_Propriete_Entite'. 
    Erreur ODBC : [Microsoft][ODBC SQL Server Driver][SQL Server]Introducing FOREIGN KEY constraint 'FK_Donnee_Propriete_Entite' on table 'Donnee' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.
    [Microsoft][ODBC SQL Server Driver][SQL Server]Could not create constraint. See previous errors.
    Or je veux vraiment que les éléments de B soit supprimé lorsqu'on supprime soit un élément de A de A1 ou de A2. Comment faire ?

    D'avance merci pour vos réponses.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 142
    Par défaut
    Effectivement SQL Server ne permet pas les "Cascade" qui peuvent passer pas plusieurs chemins.

    Si tu veux gérer les suppressions de B complétement au niveau de la base de données, la seule solution que je vois, ce sont les triggers.

    Tu supprimes par exemple la contrainte ON DELETE CASCADE de B vers A2, et à la place tu mets un Trigger ON Delete sur la table A2 qui va effacer les enregistrements de B qui vont bien.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 211
    Par défaut
    ok merci pour la confirmation.

    Est ce que d'autres SGBD le gère ? (oracle ? mysql ? firebird ?)

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/04/2010, 22h10
  2. [SQL2K] probléme de suppression en cascade
    Par oxino dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 16/02/2009, 16h08
  3. Problème de suppression en cascade.
    Par Orgied dans le forum Débuter
    Réponses: 4
    Dernier message: 28/01/2009, 15h44
  4. Problème avec suppression en cascade
    Par agur29 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 26/07/2007, 12h42
  5. Réponses: 4
    Dernier message: 16/04/2004, 09h20

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