我需要一个SQL查询来枚举SQL Server 2005中特定数据库的所有视图(我只需要视图名称)。SQL查询列出SQL Server 2005数据库中的所有视图
回答
要完成衬托(用什么已经建议):
SELECT * FROM sys.views
这给每个视图额外的属性,不能从sys.objects中(其中包含适用于所有类型的属性)或INFORMATION_SCHEMA.VIEWS。虽然INFORMATION_SCHEMA方法确实提供了开箱即用的视图定义。
SELECT *
FROM sys.objects
WHERE type = 'V'
尽量避免使用一般的“sys.objects中” - 用更具体的意见,而不是 - 'sys.views' – 2010-05-25 10:33:26
运行此添加DatabaseName在哪里条件。
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 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
来源:http://blog.sqlauthority.com/2010/10/29/sql-server-list-of-all-the-views-from-database/ – MikeTeeVee 2013-03-12 08:37:32
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
名称来访问,作为一个例子,你正在使用AdventureWorks数据库,你需要用模式来访问。
SELECT s.name +'.'+v.name FROM sys.views v inner join sys.schemas s on s.schema_id = v.schema_id
比标准的“sys.views” 。并非所有人都在DBO模式中转储表 – Damian 2017-07-31 14:11:33
- 1. 查询SQL Server 2012数据库实例中的所有视图
- 2. 从SQL Server 2008端查询SQL Server 2005数据库
- 3. SQL Server 2005查找某个数据类型的数据库中的所有列
- 4. SQL请求列出Sql-Server实例中的所有数据库?
- 5. SQL Server 2005:查询数据库上次还原时的T-SQL?
- 6. SQL查询在SQL Server 2005
- 7. SQL Server 2005查询
- 8. 查询SQL Server 2005中
- 9. 查询SQL Server 2005中
- 10. SQL Server数据库查询
- 11. SQL查询数据库的Microsoft SQL Server
- 12. 如何在sql server 2005中编写sql server数据库图表?
- 13. 查询来获取数据库的SQL Server 2005中
- 14. SQL Server 2005数据库中的复杂查询
- 15. SQL Server 2005的XML查询
- 16. 删除SQL Server 2005数据库中的所有行
- 17. 如何重建SQL Server 2005中的所有数据库
- 18. 返回所有包含错误数据的列SQL Server 2005查询
- 19. 查询以列出包含SQL Server 2005特定列的所有表格
- 20. 如何在SQL Server 2008上执行SQL Server 2005生成的数据库查询?
- 21. 如何将SQL Server 2005表导出到SQL Server Compact数据库
- 22. 如何将数据库从SQL Server 2008导出到SQL Server 2005
- 23. SQL Server查询获取表中所有列的数据类型?
- 24. 在将sql server 2005数据库转换为sql server数据库时出错2000
- 25. 将所有者添加到SQL Server 2005数据库中
- 26. 从sql server 2005数据库导出表/视图名称与列名称
- 27. 一个SQL Server 2005 Express的查询,将每个数据库
- 28. SQL Server:列出查询中使用的所有列
- 29. SQL Server 2005子查询
- 30. 在SQL Server DISTINCT 2005查询
错误(无用)对象名称“sys.views”。我正在查询master DB。 – Steam 2013-11-20 18:02:23
@Steam发布一个单独的问题。 – Gili 2015-08-21 18:39:46