sp_refreshview附近的语法不正确

时间:2017-04-25 11:49:27

标签: sql-server tsql database-view

我们的一个表正在丢失一列,需要刷新相关视图。虽然我有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

由于某种原因它一直在失败。这是我第一次设置批处理脚本来更新不同数据库中的多个视图,所以如果有更好的方法可以做到这一点,我愿意接受建议。

1 个答案:

答案 0 :(得分:1)

要修复语法错误,我相信你所缺少的只是一个" EXEC"在你的sp_refreshview之前:

USE [DB1]
EXEC sp_refreshview 'DB1.dbo.View1'
GO

USE [DB2]
EXEC sp_refreshview 'DB2.dbo.View1'
GO