我的数据库中有一个视图,有人用一个表中的 * 定义了该视图。我刚刚向该表添加了一个新列,我希望视图反映新列。除了重新执行视图创建脚本之外,还有其他方法重建视图吗?我正在寻找类似的东西sp_重新编译将重新编译存储过程(或者更准确地将其标记为在下次调用时进行编译)。
Update:从长远来看,我尝试在视图上调用 sp_recompile,虽然调用有效,但它没有重建视图。
更新2:我希望能够通过脚本来完成此操作。因此,将列添加到表中的脚本也可以更新视图。正如我所说,类似于 sp_recompile 的东西。
我相信你正在寻找的是
sp_refreshview [ @viewname = ] 'viewname'
更新指定的元数据
非模式绑定视图。执着的
视图的元数据可以变成
由于更改而过时
视图所在的底层对象
依靠。
请参阅微软文档 https://learn.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-refreshview-transact-sql
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)