用于查找列的SQL查询

时间:2016-02-16 18:27:56

标签: sql views lookup

我想查找一个名为' LOB'的列。成千上万的观点存在。 架构名称:PACONE

这里有任何帮助。感谢。

3 个答案:

答案 0 :(得分:2)

该解决方案将取决于您拥有的数据库服务器。

如果您有Oracle,请转到Search an Oracle database for tables with specific column names?

如果你有mySQL,请转到How do i search a mysql database for a specific column name

如果你有PostgreSQL,请转到How to find a table having a specific column in postgresql

如果您有SQL Server,这是一个可能的解决方案:

操作方法:在SQL Server数据库中查找字段或表

假设您需要找到一个名为GLASS_ID的字段,您只需运行:

- 搜索某个字段名称 - SELECT TABLE_NAME,COLUMN_NAME,DATA_TYPE,IS_NULLABLE 来自INFORMATION_SCHEMA.COLUMNS WHERE UPPER(COLUMN_NAME)='GLASS_ID'

同样,您可以查找以“CO”

结尾的所有字段名称

- 搜索以...结尾的字段名称 SELECT TABLE_NAME,COLUMN_NAME,DATA_TYPE,IS_NULLABLE 来自INFORMATION_SCHEMA.COLUMNS 在哪里上(COLUMN_NAME)喜欢'%CO'

当然,这应该在SQL Server下运行,并且仅在SQL Server 2005中进行了测试,但我想它也适用于任何最新版本。

答案 1 :(得分:0)

 use [your database name]
 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 = 'LOB'
 ORDER BY schema_name, table_name;

答案 2 :(得分:0)

首先,您应提供有关您的环境的一些信息。

如果您使用Oracle,您可以使用dab_view查询dba_tab_columns(也可以是user_或all_),例如:

select a.view_name 
from dba_views a 
join dba_tab_columns b 
on a.view_name = b.table_name 
where lower(b.column_name) = 'lob'
and lower(b.owner) = <view_owner>;