Sélectionnez les Colonnes d'une Vue
Je suis d'essayer de sélectionner les noms de colonne d'un view
d'une façon similaire à la sélection de information_schema.columns
.
Je n'arrive pas à trouver une façon de le faire. Quelqu'un d'autre a fait ça avant, ou de savoir si c'est encore possible?
Vous devez vous connecter pour publier un commentaire.
information_schema.les colonnes.Table_name (au moins sous Sql Server 2000) comprend les points de vue, donc il suffit d'utiliser
'VIEW_NAME'
avec le nom de mon point de vue 😉Essayez ceci:
Cela vous donne le point de vue en tant que telle - si vous avez besoin d'colonnes, utilisez ceci:
Pas sûr de savoir comment vous pouvez le faire en utilisant le
INFORMATION_SCHEMA
- je n'ai jamais l'utiliser, car il se sent plutôt "maladroit" et peu intuitive, par rapport à lasys
schéma catalogue de vues.Voir le MSDN docs sur le Catalogue de Vues pour tous les détails de tous les points de vue disponibles, et que les informations qu'ils pourraient contenir.
Vues INFORMATION_SCHEMA détient des métadonnées sur des objets dans la base de données. INFORMATION_SCHEMA.Les COLONNES utilise des sous-jacents sys tables de retrive les métadonnées ( vérifier sp_helptext maître.Information_schema.des colonnes ). Vous pouvez utiliser cette requête plus simple pour sélectionner la colonne des noms utilisés dans n'importe quelle vue.
FROM
clause, vous pouvez utiliserJOIN
. Donc, la requête seraSELECT col.name FROM sys.columns col JOIN sys.views vew ON col.object_id = vew.object_id WHERE vew.name = '<view_name>'
J'ai trouvé cette façon de travailler pour les vues SQL (2017). Je n'ai pas été en mesure d'obtenir des données à partir de
information_schema.columns
etsys.columns
: