SQL Server 2005 联机丛书
sp_refreshview (Transact-SQL) 发送反馈
请参阅
全部折叠全部展开 语言筛选器: 全部语言筛选器: 多语言语言筛选器: Visual Basic语言筛选器: C#语言筛选器: C++语言筛选器: J#语言筛选器: JScript
系统存储过程 (Transact-SQL) > 数据库引擎存储过程 (Transact-SQL) >
Visual Basic(Declaration)
C#
C++
J#
JScript
更新日期: 2006 年 4 月 14 日 更新指定的未绑定到架构的视图的元数据。由于视图所依赖的基础对象的更改,视图的持久元数据会过期。 Transact-SQL 语法约定语法
sp_refreshview [ @viewname = ] 'viewname'
参数
[ @viewname = ] 'viewname'
视图的名称。viewname 的数据类型为 nvarchar,无默认值。viewname 可以是多部分组成的标识符,但只能引用当前数据库中的视图。返回代码值
0(成功)或非零数字(失败)备注
如果创建视图时未将其绑定到架构,则对该视图下影响视图定义的对象进行更改时,应运行 sp_refreshview。否则,当查询视图时,可能会生成意外结果。权限
要求对视图具有 ALTER 权限,并对视图列引用的公共语言运行时 (CLR) 用户定义类型和 XML 架构集合具有 REFERENCES 权限。示例
A. 更新视图的元数据
以下示例刷新视图 Sales.vIndividualCustomer 的元数据。 复制代码
USE AdventureWorks;
GO
exec sp_refreshview N'Sales.vIndividualCustomer';
B. 创建脚本,该脚本可更新与更改对象有依赖关系的所有视图
假定表 Person.Contact 进行了更改,其更改方式影响了基于此表创建的所有视图的定义。以下示例将创建一个脚本,以便为与表 Person.Contact 有依赖关系的所有视图刷新源数据。 复制代码
USE AdventureWorks;
GO
SELECT DISTINCT 'EXEC sp_refreshview ''' + name + ''''
FROM sys.objects so INNER JOIN sys.sql_dependencies sd
ON so.object_id = sd.object_id
WHERE type = 'V'
AND sd.referenced_major_id = object_id('Person.Contact')
请参阅
参考
数据库引擎存储过程 (Transact-SQL)
系统存储过程 (Transact-SQL)
帮助和信息
获取 SQL Server 2005 帮助
更改历史记录
版本 历史记录
2006 年 4 月 14 日
新增内容:
添加了“备注”部分,以阐明使用 sp_refreshview 的原因。
添加了示例 B。
已更改的内容:
更新了示例 A。
文档反馈
Microsoft 非常重视您的反馈。若要对该主题分级并将对该主题的反馈发送到文档编写组,请单击一个分级,再单击“发送反馈”。要想获得有关支持方面的问题的协助,请参阅包含在该产品中的技术支持信息。
不好 1
2
3
4
5
出色
若要将反馈通过电子邮件发送给 Microsoft,请单击此处:
© 2007 Microsoft Corporation。保留所有权利。
sp_refreshview (Transact-SQL) 发送反馈
请参阅
全部折叠全部展开 语言筛选器: 全部语言筛选器: 多语言语言筛选器: Visual Basic语言筛选器: C#语言筛选器: C++语言筛选器: J#语言筛选器: JScript
系统存储过程 (Transact-SQL) > 数据库引擎存储过程 (Transact-SQL) >
Visual Basic(Declaration)
C#
C++
J#
JScript
更新日期: 2006 年 4 月 14 日 更新指定的未绑定到架构的视图的元数据。由于视图所依赖的基础对象的更改,视图的持久元数据会过期。 Transact-SQL 语法约定语法
sp_refreshview [ @viewname = ] 'viewname'
参数
[ @viewname = ] 'viewname'
视图的名称。viewname 的数据类型为 nvarchar,无默认值。viewname 可以是多部分组成的标识符,但只能引用当前数据库中的视图。返回代码值
0(成功)或非零数字(失败)备注
如果创建视图时未将其绑定到架构,则对该视图下影响视图定义的对象进行更改时,应运行 sp_refreshview。否则,当查询视图时,可能会生成意外结果。权限
要求对视图具有 ALTER 权限,并对视图列引用的公共语言运行时 (CLR) 用户定义类型和 XML 架构集合具有 REFERENCES 权限。示例
A. 更新视图的元数据
以下示例刷新视图 Sales.vIndividualCustomer 的元数据。 复制代码
USE AdventureWorks;
GO
exec sp_refreshview N'Sales.vIndividualCustomer';
B. 创建脚本,该脚本可更新与更改对象有依赖关系的所有视图
假定表 Person.Contact 进行了更改,其更改方式影响了基于此表创建的所有视图的定义。以下示例将创建一个脚本,以便为与表 Person.Contact 有依赖关系的所有视图刷新源数据。 复制代码
USE AdventureWorks;
GO
SELECT DISTINCT 'EXEC sp_refreshview ''' + name + ''''
FROM sys.objects so INNER JOIN sys.sql_dependencies sd
ON so.object_id = sd.object_id
WHERE type = 'V'
AND sd.referenced_major_id = object_id('Person.Contact')
请参阅
参考
数据库引擎存储过程 (Transact-SQL)
系统存储过程 (Transact-SQL)
帮助和信息
获取 SQL Server 2005 帮助
更改历史记录
版本 历史记录
2006 年 4 月 14 日
新增内容:
添加了“备注”部分,以阐明使用 sp_refreshview 的原因。
添加了示例 B。
已更改的内容:
更新了示例 A。
文档反馈
Microsoft 非常重视您的反馈。若要对该主题分级并将对该主题的反馈发送到文档编写组,请单击一个分级,再单击“发送反馈”。要想获得有关支持方面的问题的协助,请参阅包含在该产品中的技术支持信息。
不好 1
2
3
4
5
出色
若要将反馈通过电子邮件发送给 Microsoft,请单击此处:
© 2007 Microsoft Corporation。保留所有权利。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货