50 votes

Je souhaite afficher toutes les tables ayant un nom de colonne spécifié

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

92voto

Evidica Points 507

Assez simple au niveau de la base de données

 Use DatabaseName
Select * From INFORMATION_SCHEMA.COLUMNS Where column_name = 'ColName'
 

16voto

RedFilter Points 84190
select table_name
from information_schema.columns
where COLUMN_NAME = 'MyColumn'

10voto

David Points 20209

Vous pouvez utiliser les vues du schéma d'informations:

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

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

7voto

avDev Points 31

Si vous essayez d'interroger une base de données Oracle, vous pouvez utiliser

 select owner, table_name 
from all_tab_columns
where column_name = 'ColName';
 

6voto

SKocheta Points 31
 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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X