2010-11-16 29 views

Respuesta

71

Bastante simple en un nivel por base de datos

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

Esta solución incluye vistas. ¿Hay alguna manera de determinar cuáles son tablas y cuáles son vistas? –

+0

Para Oracle, consulte la respuesta de avDev: http://stackoverflow.com/a/16371127/1143724 – MrDuk

+0

Consulte esto para obtener solo tablas o tablas y vistas [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

Puede utilizar las vistas de esquema de información:

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

Aquí está la referencia de MSDN para las "Columnas" vista: http://msdn.microsoft.com/en-us/library/ms188348.aspx

+0

1 para el enlace –

1

Usted puede encontrar lo que está buscando en el esquema de información: SQL Server 2005 System Tables and Views Creo que necesita SQL Server 2005 o superior para utilizar el enfoque descrito en este artículo, pero un método similar se puede utilizar para versiones anteriores.

5

Si usted está tratando de consultar una base de datos Oracle, es posible que desee utilizar

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

gracias es perfecto –

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' 

Esta tabla de devoluciones s e ignora las vistas para cualquiera que esté interesado!

2

tablas --get que contiene una selección de 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%' 

su trabajado ...

Cuestiones relacionadas