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 :

Gestion clé composée


Sujet :

MS SQL Server

  1. #1
    Nouveau membre du Club
    Profil pro
    Technicien
    Inscrit en
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Points : 26
    Points
    26
    Par défaut Gestion clé composée
    Bonjour,

    Voilà mon problème. Je souhaiterais créer une colonne qui serait automatiquement renseignée, lors d'un insert, par la valeur de deux autres colonnes qui sont des clés étrangères.

    Voici la structure de ma table

    Id_Name -> clé primaire auto-incrémentée
    id_FK_AP -> clé étrangére
    id_FK_Function -> clé étrangére
    id_AP_Function -> colonne où je souhaite mettre les id des 2 colonnes précédentes

    Si quelqu'un peut m'éclairer

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Points : 406
    Points
    406
    Par défaut
    Bonjour,

    il y a plusieurs solutions à ton problème. La première est d'effectuer la concaténation dans ta requête d'insertion. La seconde est de créer un trigger qui fera cette action systématiquement.

    Mais je pense que si tu nous situe plus ton problème (contexte, action, etc.), on pourra t'aiguiller vers une solution optimale.

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 924
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 924
    Points : 51 724
    Points
    51 724
    Billets dans le blog
    6
    Par défaut
    la troisième est de créer une colonne calculée dans la table !

    A +

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    la troisième est de créer une colonne calculée dans la table !
    Comment fais-tu ceci?

    En utilisant la valeur par défaut de la colonne?

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 924
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 924
    Points : 51 724
    Points
    51 724
    Billets dans le blog
    6
    Par défaut
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CREATE TABLE T 
    (COL1 CHAR(16),
     COL2 CHAR(8),
     COL3 AS COL1 + COL2)
    COL3 est la concaténation de COL1 et COL2.

    A +

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    Comment se comporte ceci? Est-ce équivalent à un trigger?

    PS: je ne savais pas que cela étais possible. ça date de quelle version?

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 924
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 924
    Points : 51 724
    Points
    51 724
    Billets dans le blog
    6
    Par défaut
    Rien à voir avec un trigger. Une colonne calculée est exécutée au SELECT, UPDATE, INSERT, etc qui l'utilise....

    Mais on peut en outre l'indexer.

    A +

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 480
    Points : 357
    Points
    357
    Par défaut
    oui je vois bien que c'est pas un trigger... je me demandais, pour la culture, comment le moteur gérais cela...

Discussions similaires

  1. XE7 - Gestion des composants
    Par Invité dans le forum Delphi
    Réponses: 1
    Dernier message: 24/11/2014, 14h55
  2. Gestion des composants
    Par FunkyBreizh dans le forum JSF
    Réponses: 2
    Dernier message: 09/06/2009, 12h38
  3. Gestion des composants en MFC
    Par dot-_-net dans le forum MFC
    Réponses: 0
    Dernier message: 17/03/2009, 21h17
  4. visual jsf + gestion de composant
    Par supernova dans le forum NetBeans
    Réponses: 0
    Dernier message: 19/09/2008, 12h14
  5. Probléme de gestion de composant dynamique
    Par 6BORG dans le forum Composants VCL
    Réponses: 4
    Dernier message: 18/08/2006, 18h40

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