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 :

Detection des champs au tables impliquée dans un query


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut Detection des champs au tables impliquée dans un query
    Bonjour

    Dans une application nous aimerions proposer un certains nombres de query "generique"
    C'est a dire que les jointures des tables nécessaires seraient précodées mais pas forcément les champs a utiliser

    Je me demande quelle serait la meilleure methode sur base d'un select * par exemple d'extraire la liste de tous les champs potentiellement accessible dans le query afin de preparer une liste de proposition a l'utilisateur

    Merci pour des idées

  2. #2
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Bonjour,

    Vous pouvez déjà vous baser sur les vues de schéma pour récupérer les informations dont vous avez besoin pour proposer les noms de colonnes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT
     TABLE_SCHEMA + '.' + TABLE_NAME, 
     COLUMN_NAME
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_NAME = '<matable>'
    -- TABLE_NAME IN ('<matable1>','<matable2>')
    Vous pouvez par exemple par la suite à l'aide de votre IHM ou application, construire dynamiquement votre requête avec les colonnes désirées ...

    ++

  3. #3
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Peut-être serait-il plus avantageux de créer les vues nécessaires, et de requêter directement celles-ci.
    Vous pouvez récupérer les noms des colonnes avec une des deux requêtes suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT V.name, C.name
    FROM sys.views AS V
    JOIN sys.columns AS C
    	ON V.object_id = C.object_id
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT VIEW_CATALOG,
    		VIEW_SCHEMA,
    		VIEW_NAME,
    		COLUMN_NAME
    FROM INFORMATION_SCHEMA.VIEW_COLUMN_USAGE
    @++

  4. #4
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    Merci a tous

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/12/2014, 16h49
  2. Aide pour insérer des champs d'une requete dans une table
    Par salluste dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 24/06/2014, 02h48
  3. Regrouper des champs de même type dans la même table
    Par Marsupilami23 dans le forum Développement
    Réponses: 9
    Dernier message: 15/06/2011, 13h53
  4. Between avec des champs de tables
    Par talggir dans le forum Langage SQL
    Réponses: 3
    Dernier message: 24/05/2005, 09h11
  5. Récupération des champs d'un form dans un autre
    Par Crazyblinkgirl dans le forum ASP
    Réponses: 10
    Dernier message: 22/06/2004, 10h31

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