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 :

[Proc stock] GetTableName(Nom_Colonne)


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
    Juin 2002
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juin 2002
    Messages : 66
    Par défaut [Résolu][Proc stock] GetTableName(Nom_Colonne)
    Bonjour,
    voilà une bonne heure que je cherche à faire une requete (un proc stock plus précisement) pour obtenir le nom d'une table en fonction du nom de colonne (avec INFORMATION_SCHEMA)

    Le problème :
    Si j'ai par exmple deux tables du type
    VILLE (VILLE_ID,PAYS_ID,VILLE_NOM)
    PAYS (PAYS_ID,PAYS_NOM)

    et que je cherche à qui appartient la colonne PAYS_ID , je n'arrive pas à trouver l'astuce pour éviter de retrouver unqiment le nom de la table PAYS
    J'ai toujours VILLE qui apparait quelque part

    Si une âme généreuse pouvait venir à mon secours...

    (si vous connaissez de plus un site qui contient ce genre de req ou proc stock merci de me donner le lien )

    Merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juin 2002
    Messages : 66
    Par défaut
    Comme quoi, poster dans un forum... ça permet de poser le probleme à plat ....
    je crois avoir trouvé...
    si ça vous dit de tester ou bien de prposer quelque chose d'un peu plus optimisé....
    pour le moment ça fonction uniquement avec les PK et FK...
    pour les autres colonnes je vais voir ça plus tard now j'va me coucher

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    select col.TABLE_NAME 
    from 
    information_schema.columns col,
    information_schema.constraint_column_usage pk
    where 
       col.column_name = pk.column_name
       and col.table_name = pk.table_name
       and col.column_name = 'VILLE_ID'
       and pk.constraint_name like 'pk%'
       and col.table_name not in 
            (
            select table_name from 
            information_schema.constraint_column_usage
            where column_name = 'VILLE_ID'
           and constraint_name like 'FK%'
           )

  3. #3
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut

    Utilises des noms différents à la création de ta base comme ça tu évites ce genre de problème et ça facilite les jointures.
    Ex:
    table T_PA_PAYS avec PA_ID, PA_NOM
    table T_VI_VILLE avec VI_ID, VI_PA_ID, VI_NOM
    PK=PA_ID et FK=VI_PA_ID
    ça simplifie à mort après

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juin 2002
    Messages : 66
    Par défaut
    ha ouaip c pas mal du tout...
    je voulais typer mes tables avec les noms comme TJ => ta de jointure
    TW => table de travail etc...
    mais je crois que je vais suivre ton conseil

    Merci beaucoup

  5. #5
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    tu peux en plus de ça optimiser le nom de tes tables comme tu le dis, c'est encore mieux.
    Regarde ici, il y a un petit topo sur la normalisation

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

Discussions similaires

  1. Appels de procedures stockées dans une proc stockée ?
    Par Nadaa dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 17/07/2008, 10h32
  2. Lancement d'un shell Unix dans un proc stockée
    Par SBA03 dans le forum Oracle
    Réponses: 20
    Dernier message: 31/08/2006, 09h22
  3. [proc stockée][sqlserver2k] pb MonChamp IN @Mesvaleurs
    Par jld33 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 07/01/2004, 09h47
  4. [MSDE 2000] Récup champ text depuis proc stockée
    Par Air'V dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/12/2003, 19h47
  5. Réponses: 2
    Dernier message: 16/10/2003, 17h17

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