Je veux afficher toutes les tables qui ont un nom de colonne spécifié

Comment puis-je obtenir une liste de toutes les tables ayant un nom de colonne spécifique?

Assez simple au niveau de la firebase database

Use DatabaseName Select * From INFORMATION_SCHEMA.COLUMNS Where column_name = 'ColName' 
 select table_name from information_schema.columns where COLUMN_NAME = 'MyColumn' 

Vous pouvez utiliser les vues du schéma d’information:

 SELECT DISTINCT TABLE_SCHEMA, TABLE_NAME FROM Information_Schema.Columns WHERE COLUMN_NAME = 'ID' 

Voici la référence MSDN pour la vue “Columns”: http://msdn.microsoft.com/en-us/library/ms188348.aspx

Si vous essayez d’interroger une firebase database Oracle, vous pouvez utiliser

 select owner, table_name from all_tab_columns where column_name = 'ColName'; 
 SELECT t.name AS table_name, SCHEMA_NAME(schema_id) AS schema_name, c.name AS column_name,* FROM sys.tables AS t INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID WHERE c.name LIKE '%YOUR_COLUMN%' ORDER BY schema_name, table_name; 

Article détaillé par SQL Authority

 SELECT T.TABLE_NAME, C.COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS C INNER JOIN INFORMATION_SCHEMA.TABLES T ON T.TABLE_NAME = C.TABLE_NAME WHERE TABLE_TYPE = 'BASE TABLE' AND COLUMN_NAME = 'ColName' 

Cela renvoie uniquement les tables et ignore les vues pour quiconque est intéressé!

–get tables contenant le nom de colonne sélectionné

 SELECT c.name AS ColName, t.name AS TableName FROM sys.columns c JOIN sys.tables t ON c.object_id = t.object_id WHERE c.name LIKE '%batchno%' 

son travaillé …

Vous pouvez trouver ce que vous recherchez dans le schéma d’informations: Tables et vues système de SQL Server 2005 Je pense que vous devez disposer de SQL Server 2005 ou supérieur pour utiliser l’approche décrite dans cet article, mais une méthode similaire peut être utilisée pour les versions antérieures.