2

我们的一个表丢失了一列,需要刷新相关视图。我自己为一个视图运行了过程 sp_refreshview ok,尽管我必须选择实际的数据库,即使我有DB.dbo.View_name扩展名。

我现在想在一个执行表更新的脚本中运行其中一些更新视图语句,但不断收到此错误消息,提示 sp_refreshview 附近的语法不正确。我尝试将 go 放在语句之后以包含它,并USE [DB_Name]在每次更新之前使用语句。如下所示:

use [DB1]
sp_refreshview 'DB1.dbo.View1'
go

use [DB2]
sp_refreshview 'DB2.dbo.View1'
go

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

4

1 回答 1

2

为了修复您的语法错误,我相信您所缺少的只是您的 sp_refreshview 之前的“EXEC”:

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

USE [DB2]
EXEC sp_refreshview 'DB2.dbo.View1'
GO
于 2018-01-03T14:51:46.103 回答