Sql-запрос для отображения всех представлений в базе данных SQL Server 2005

Мне нужен SQL-запрос для перечисления всех представлений (мне нужны только имена представлений) конкретной базы данных в SQL Server 2005. Заранее спасибо!

6 ответов


чтобы закончить набор (с тем, что уже было предложено):

SELECT * FROM sys.views

Это дает дополнительные свойства для каждого представления, недоступного из sys.объекты (которые содержат свойства, общие для всех типов объектов) или INFORMATION_SCHEMA.ПРОСМОТР. Хотя подход INFORMATION_SCHEMA предоставляет определение представления из коробки.


SELECT SCHEMA_NAME(schema_id) AS schema_name
,name AS view_name
,OBJECTPROPERTYEX(OBJECT_ID,'IsIndexed') AS IsIndexed
,OBJECTPROPERTYEX(OBJECT_ID,'IsIndexable') AS IsIndexable
FROM sys.views

SELECT  *
FROM    sys.objects
WHERE   type = 'V'

запустите это добавление DatabaseName в условии where.

  SELECT TABLE_NAME, ROW_NUMBER() OVER(ORDER BY TABLE_NAME) AS 'RowNumber' 
  FROM INFORMATION_SCHEMA.VIEWS 
  WHERE TABLE_CATALOG = 'DatabaseName'

или удалить, где условие добавления использования.

  use DataBaseName

  SELECT TABLE_NAME, ROW_NUMBER() OVER(ORDER BY TABLE_NAME) AS 'RowNumber' 
  FROM INFORMATION_SCHEMA.VIEWS 

select v.name
from INFORMATION_SCHEMA.VIEWS iv
join sys.views v on v.name = iv.Table_Name
where iv.Table_Catalog = 'Your database name'

некоторое время вам нужно получить доступ с schema name, в качестве примера вы используете базу данных AdventureWorks, к которой вам нужно получить доступ со схемами.

 SELECT s.name +'.'+v.name FROM sys.views v inner join sys.schemas s on s.schema_id = v.schema_id