Vee*_*jay 3 sql-server sql-server-2008
如何在SQL Server 2008中显示数据库中所有视图的内容?有没有新的系统视图来做同样的事情?
使用Management Studio的最简单方法是:
这将打开一个窗口,其中包含您选择的所有内容的“视图”定义。
编辑:如果要查询所有视图定义,可以执行以下操作:
Select VIEW_DEFINITION
From INFORMATION_SCHEMA.VIEWS
Run Code Online (Sandbox Code Playgroud)
如果将输出更改为“文本”而不是“网格”,它将为您提供所有视图的列表。
正如gbn所指出的那样,如果这是您想要的架构,并且如果某个开发人员疯狂地制作了一个超过4k个字符的视图,则INFORMATION_SCHEMA视图将对该视图的架构返回null。因此,在这种情况下,使用系统表会更合适。类似于SMS在幕后所做的工作,gbn解决方案的一种变化是:
Select smv.definition
FROM sys.all_views AS v
JOIN sys.sql_modules AS smv
ON smv.object_id = v.object_id
Run Code Online (Sandbox Code Playgroud)
SELECT
O.name, SM.definition
FROM
sys.objects O
JOIN
sys.sql_modules SM ON o.object_id = SM.object_id
WHERE
o.type = 'V'
Run Code Online (Sandbox Code Playgroud)
"INFORMATION_SCHEMA"的列限制为nvarchar(4000),当您选择它时将导致截断视图定义:不要使用它
| 归档时间: |
|
| 查看次数: |
31178 次 |
| 最近记录: |