我们的一个表正在丢失一列,需要刷新相关视图。虽然我有DB.dbo.View_name
扩展名,但我必须选择实际的数据库,因此我在一个视图上运行了sp_refreshview ok程序。
我现在想在一个执行表更新的脚本中运行一些这些更新视图语句,但是在sp_refreshview附近不断收到此错误消息说错误的语法。在每次更新之前,我已尝试使用USE [DB_Name]
语句放置语句以包含它。如下所示:
use [DB1]
sp_refreshview 'DB1.dbo.View1'
go
use [DB2]
sp_refreshview 'DB2.dbo.View1'
go
由于某种原因它一直在失败。这是我第一次设置批处理脚本来更新不同数据库中的多个视图,所以如果有更好的方法可以做到这一点,我愿意接受建议。
答案 0 :(得分:1)
要修复语法错误,我相信你所缺少的只是一个" EXEC"在你的sp_refreshview之前:
USE [DB1]
EXEC sp_refreshview 'DB1.dbo.View1'
GO
USE [DB2]
EXEC sp_refreshview 'DB2.dbo.View1'
GO