选择视图的列

ste*_*ris 30 sql t-sql view sql-view

我试图以与选择view相似的方式选择a 的列名information_schema.columns.

我似乎找不到办法做到这一点.有没有其他人之前做过这件事或知道它是否可能?

Gho*_*ost 58

information_schema.columns.Table_name(至少在Sql Server 2000下)包含视图,所以只需使用

SELECT * FROM information_schema.columns WHERE table_name = 'VIEW_NAME'
Run Code Online (Sandbox Code Playgroud)

  • 在SSMS 2012中没有返回任何内容 (6认同)
  • 对我有用 :-) 但我足够聪明,可以用我的视图的实际名称替换“VIEW_NAME”;-) (3认同)

mar*_*c_s 15

试试这个:

SELECT *
FROM sys.views
Run Code Online (Sandbox Code Playgroud)

这为您提供了这样的视图 - 如果您需要列,请使用:

SELECT * 
FROM sys.columns
WHERE object_id = OBJECT_ID('dbo.YourViewNameHere')
Run Code Online (Sandbox Code Playgroud)

不确定如何使用INFORMATION_SCHEMA- 我从不使用它,因为与sys模式目录视图相比,它感觉相当"笨重"和不直观.

有关所有可用视图的所有详细信息以及它们可能包含的信息,请参阅目录视图上MSDN文档.