回答

收藏

如何在SQL Server 2008中重建视图

技术问答 技术问答 281 人阅读 | 0 人回复 | 2023-09-14

我的数据库中有一个视图,某人用一个表中的定义了该视图。我刚刚在该表中添加了新列,并且希望视图反映新列。除了重新执行视图创建脚本之外,还有另一种方法可以重建视图吗?我正在寻找类似于; F  ]- c# b0 a" x" {3 G8 c# z/ G
sp_recompile* 将如何重新编译存储过程的方法(或更准确地说,将其标记为在下次调用时进行编译)。
% L# s& M; G% m2 g$ H- X+ v  Q/ P更新: 从长远来看,我尝试在视图上调用sp_recompile,并且在调用有效的同时,它没有重建视图。
2 k( L( T) r& L1 t更新2: 我希望能够通过脚本执行此操作。因此,将列添加到表中的脚本也可以更新视图。就像我说的,类似于sp_recompile。
* m# {' t# H  U! W( q7 w               
8 D4 S7 r/ q- \/ j( A$ p1 h6 t, Q解决方案:
# y3 _9 W! {5 D                4 h0 {2 _$ b1 ?2 ?3 ^1 O! }$ F  v

+ |0 o" |" A- Z0 Z4 F" m% e1 F0 Q7 L! q4 S) S% h  h6 N$ c& `
                我相信你在找什么  C) }7 d& D: ~( Z
sp_refreshview [ @viewname = ] 'viewname'( d# z. q1 j1 ]* o+ z; H  ?

$ u+ C0 u# L. h$ m  p* A5 S  H更新指定的非架构绑定视图的元数据。由于对视图所依赖的基础对象的更改,视图的持久元数据可能会过时。
5 J: o' f* @, b1 D
& F2 Z3 w# s$ q" o请参阅Microsoft Docs
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则