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 :

Update sur deux table relié par une clé étrangère.


Sujet :

Développement SQL Server

  1. #1
    Membre habitué
    Inscrit en
    Novembre 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 262
    Points : 163
    Points
    163
    Par défaut Update sur deux table relié par une clé étrangère.
    bonjour;

    voila j'ai deux table :
    T1(C1,C2); /clé primaire C1
    T2(P1,P2,C1); / P1 : clé primaire ; C1 : clé etrangère référençant la table T1

    est il possible qu'en modifiant le champ C1 dans la table T1 via une interface graphique, faire un update sur les deux tables T1 et T2 dans une meme requête ?

    Merci.

  2. #2
    Membre émérite

    Homme Profil pro
    Chargé de Développement et d'Analyse de données
    Inscrit en
    Mars 2010
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé de Développement et d'Analyse de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 278
    Points : 2 856
    Points
    2 856
    Par défaut
    Bonjour,

    Tu peux faire Update simple dans T1 puis dans T2.

    En utilisant le trigger INSTEAD OF UPdate sur une view, tu peux aussi mettre à jour T1 et T2. voir un exemple ici

  3. #3
    Membre habitué
    Inscrit en
    Novembre 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 262
    Points : 163
    Points
    163
    Par défaut
    merci pour votre réponse;

    j'ai pas su utiliser le trigger INSTEAD OF UPdate , du coup je me suis rabattu sur une requête comme suit :

    Update T1 INNER JOIN T2 ON (T1.C1=T2.C1)
    Set T1.C1=valeur, T2.C1=valeur, T1.C2=Autre_Valeur
    where T1.C1=AncienneValeur

    mais a l'execution de la requête j'ai le message d'erreur suivant :

    Msg*156, Niveau*15, État*1, Ligne*1
    Syntaxe incorrecte vers le mot clé 'Inner'.

    pourriez vous me dire SVP d'ou viens l'erreur ?

  4. #4
    Membre habitué
    Inscrit en
    Novembre 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 262
    Points : 163
    Points
    163
    Par défaut
    bonsoir,

    je voulais juste préciser aussi que si je fait deux requêtes update indépendante sur les deux table , j'ai le message d'erreur suivant :

    par exemple si je commence par le update de T1 j'ai le message :

    L'instruction UPDATE est en conflit avec la contrainte REFERENCE "fk_T2". Le conflit s'est produit dans la base de données "NomBDD", table "dbo.T2", column C1'.

    merci.

  5. #5
    Membre habitué
    Inscrit en
    Novembre 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 262
    Points : 163
    Points
    163
    Par défaut
    bonsoir;

    problème résolu, voici la solution pour ceux qui en auront besoin :

    au fait, il fallait rajouter la contrainte suivante au niveau de la table T2, comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    alter table T2 add constraint fk_T2_T1  foreign key(T2.C1)  references T1(T1.C1) 
    on update cascade
    et du coup quand on effectue un update sur T1, l'update se fait automatiquement sur T2.

    pareil pour le delete, faut juste rajouter salutation.

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    informatique
    Inscrit en
    Janvier 2018
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : informatique

    Informations forums :
    Inscription : Janvier 2018
    Messages : 55
    Points : 39
    Points
    39
    Par défaut
    bonjour , j'ai le même problème aussi avec on update
    j'ai met on update cascade mais ça marche pas je sais pas d’où viens le problème .
    merci

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

Discussions similaires

  1. Update sur 2 tables liées par une FK
    Par enstein8 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 05/05/2012, 14h10
  2. [MySQL] Requetes SQL UPDATE sur deux table.
    Par makamine dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 20/05/2011, 01h52
  3. Update sur deux tables
    Par nah_wah dans le forum Oracle
    Réponses: 1
    Dernier message: 04/02/2011, 12h41
  4. Réponses: 2
    Dernier message: 26/11/2008, 10h43
  5. Réponses: 2
    Dernier message: 22/10/2008, 12h51

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