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 :

Clé étrangère depuis un autre conteneur.


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 505
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 505
    Par défaut Clé étrangère depuis un autre conteneur.
    Bonjour
    J'aurais voulu savoir s'il était possible d'avoir une clé primaire dans un conteneur A et dans un conteneur B il puisse y avoir une table ayant un champs faisant référence à cette clé (clé étrangère).
    En faite, ce champs n'est pas un auto incrémentiel mais une chaine. Si je fais la modification sur ce champs au niveau de la clé primaire je voudrais faire en sorte que toute celle qui y sont associé change. Est-ce possible ?

    Merci.

  2. #2
    Membre éprouvé
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 505
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 505
    Par défaut
    Quelqu'un aurait il une idée ?
    Sinon j'ai essayé via les trigger mais je ne m'y connais pas des masses.
    Concernant les triggers j'ai commencé à faire ceci.

    CREATE TRIGGER UPDATE_TXN
    ON tb_taxinomie AFTER UPDATE
    AS
    IF UPDATE(txn_code)
    BEGIN
    UPDATE a SET a.nom = b.txn_code
    FROM test_insert AS a JOIN tb_taxinomie AS b
    ON (a.nom = b.txn_code)
    END

    Dans l'idée je voulais faire en sorte que lorsque je modifie la valeur d'un champs, je change toute celle qui y font référence depuis les autres conteneurs. Problème c'est qu'avec ce que j'ai fais cela fonctionne pas car l'opération se fait après la mise à jour (AFTER UPDATE). Dans SQL Server, BEFORE UPDATE n'existe pas. Comment puis-je récupérer la donnée qui va être modifié pour que puisse y faire référence lors de ma mise à jour ?
    Merci

  3. #3
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Bonjour,

    Par conteneur, je suppose que tu veux dire base de données.
    Il n'y a pas de DRI (contrainte d'intégrité référentielle déclarative) cross-base de données. Tu peux soit faire des triggers, soit inventer un système personnel avec déplacement de tables de référence...

    Pour faire référence à tes données modifiées dans un trigger, tu as à disposition deux tables virtuelles : deleted et inserted, qui contiennent les valeurs précédentes et nouvelles, respectivement.

    Regarde dans l'aide en ligne pour plus de précision.

  4. #4
    Membre éprouvé
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 505
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 505
    Par défaut
    Merci beaucoup, je vais voir ce de coté là !

Discussions similaires

  1. Mettre à jour une table depuis une autre
    Par rsc dans le forum SQL
    Réponses: 4
    Dernier message: 09/07/2004, 10h08
  2. Acces a un control depuis une autre classe
    Par schnito dans le forum MFC
    Réponses: 5
    Dernier message: 25/01/2004, 22h14
  3. [BPW]Dialogues non modaux exécutés depuis un autre dialogue
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 07/12/2003, 11h14
  4. Alimentation d'un SGBDR depuis un autre SGBR
    Par samyl dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 17/09/2003, 15h57
  5. Comment basculer le focus depuis une autre form ?
    Par altahir007 dans le forum Composants VCL
    Réponses: 9
    Dernier message: 03/09/2003, 15h54

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