2010-11-16 5 views

Répondre

71

Assez simple sur un niveau

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

Cette solution comprend des vues. Existe-t-il un moyen de déterminer quels sont les tableaux et quelles sont les vues? –

+0

Pour Oracle, voir la réponse d'avDev: http://stackoverflow.com/a/16371127/1143724 – MrDuk

+0

Voir ceci pour obtenir uniquement des tables ou des tables et des vues [MSSQL] http://stackoverflow.com/questions/4849652/find- all-tables-containing-column-with-specified-name – Shiham

13
select table_name 
from information_schema.columns 
where COLUMN_NAME = 'MyColumn' 
8

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

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

est ici la référence MSDN pour la vue « Colonnes »: http://msdn.microsoft.com/en-us/library/ms188348.aspx

+0

+1 pour le lien –

1

Vous pouvez trouver ce que vous cherchez dans la schéma d'informations: SQL Server 2005 System Tables and Views Je pense que vous avez besoin 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.

5

par base de données 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'; 
6
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; 

In depth article by SQL Authority

+0

thanx c'est parfait –

3
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' 

Renvoie la table s seulement et ignore les vues pour tous ceux qui sont intéressés!

2

tables --get qui contient une sélection columnName

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 marché ...

Questions connexes