我有一个从 INFORMATION_SCHEMA.COLUMNS 中选择信息的视图,它似乎同时提供了列和视图。有没有一种简单的方法可以判断哪些行是列,哪些是视图?我应该与 INFORMATION_SCHEMA.VIEWS 进行比较吗?我需要列和视图,我只想知道哪个是哪个。
mrd*_*nny 10
您需要对 INFORMATION_SCHEMA.VIEWS 进行左外连接以查看它们是否为视图。
select CASE WHEN b.TABLE_NAME is not null then 'view' else 'table' end OBJECT_TYPE,
a.*
from INFORMATION_SCHEMA.COLUMNS a
LEFT OUTER JOIN INFORMATION_SCHEMA.VIEWS b ON a.TABLE_CATALOG = b.TABLE_CATALOG
AND a.TABLE_SCHEMA = b.TABLE_SCHEMA
AND a.TABLE_NAME = b.TABLE_NAME
Run Code Online (Sandbox Code Playgroud)
小智 9
@mrdenny发布的查询似乎没有为我返回可靠的数据。我有更多的运气这样。
select b.TABLE_TYPE, a.*
from INFORMATION_SCHEMA.COLUMNS a
LEFT OUTER JOIN INFORMATION_SCHEMA.TABLES b ON a.TABLE_CATALOG = b.TABLE_CATALOG
AND a.TABLE_SCHEMA = b.TABLE_SCHEMA
AND a.TABLE_NAME = b.TABLE_NAME
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8456 次 |
| 最近记录: |