回答

收藏

如何在SQL Server 2008中重建视图

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

我的数据库中有一个视图,某人用一个表中的定义了该视图。我刚刚在该表中添加了新列,并且希望视图反映新列。除了重新执行视图创建脚本之外,还有另一种方法可以重建视图吗?我正在寻找类似于5 u- J0 \1 a3 O1 Z8 [. U
sp_recompile* 将如何重新编译存储过程的方法(或更准确地说,将其标记为在下次调用时进行编译)。- {, t, }; N2 d0 ], B1 K& ^
更新: 从长远来看,我尝试在视图上调用sp_recompile,并且在调用有效的同时,它没有重建视图。
1 U0 [" g7 V' h! ~7 C( @2 x0 X更新2: 我希望能够通过脚本执行此操作。因此,将列添加到表中的脚本也可以更新视图。就像我说的,类似于sp_recompile。  j% P6 C) G( O! n: g! a) ?: w
               
3 L. k- H8 M  ^& E8 F; P0 Q解决方案:
/ C: u/ n5 r+ b' S/ |+ g6 @; b                / ], i& l6 L) f) w
; O. _0 O2 f8 a
* l6 ?6 B' ^5 G* `( ^4 h) L$ g$ g
                我相信你在找什么* y- k) o0 e" H
sp_refreshview [ @viewname = ] 'viewname'6 M4 a* R8 B! l% M7 p* u* t
" ?7 _2 a4 b: e; q
更新指定的非架构绑定视图的元数据。由于对视图所依赖的基础对象的更改,视图的持久元数据可能会过时。
* C8 w* a% q* m8 T! o+ \0 @  ^
8 X5 l/ `1 H( f" \请参阅Microsoft Docs
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则