Je crée une requête qui renvoie le nombre de colonnes dans chaque table, mais je veux exclure les vues.
Les travaux suivants mais renvoie les résultats de vue: P>
SELECT COUNT(*), table_name FROM INFORMATION_SCHEMA.COLUMNS Group By table_name
4 Réponses :
rejoindre informations_schema.tables code> pour savoir si la table est une vue.
Chaque groupe par expression doit contenir au moins une colonne qui n'est pas une référence extérieure.
Ceci assume SQL 2005 ou supérieur
SELECT t.name, count(c.name) FROM sys.tables t inner join sys.columns c ON t.object_id = c.object_id group by t.name
La sortie est deux colonnes "Nom du tableau" et "Nombre de colonnes"; Parfait!
quelque chose comme ceci:
Nom de colonne invalide 'schema_name'. Nom de colonne non valide 'catalog_name'.
SELECT tab.table_name,COUNT(col.column_name) FROM INFORMATION_SCHEMA.tables tab JOIN INFORMATION_SCHEMA.COLUMNS col ON col.table_name = tab.table_name WHERE tab.table_type != 'VIEW' GROUP BY tab.table_name ORDER BY tab.table_name This code shows the table names and their columns count in front of them. you can add the schema name if you want.
Dupliquer Stackoverflow.com/Questtions/1033726/...