2

テーブルの 1 つで列が失われ、関連するビューを更新する必要があります。拡張機能があったとしても、実際のデータベースを選択する必要がありましたが、1 つのビューに対してプロシージャ sp_refreshview ok を単独で実行しましたDB.dbo.View_name

テーブルの更新も行う 1 つのスクリプトでこれらの更新ビュー ステートメントのいくつかを実行したいと考えていますが、sp_refreshview の近くで構文が正しくないというエラー メッセージが表示され続けます。USE [DB_Name]各更新の前にステートメントを入れて、それを含むステートメントの後に go を入れてみました。以下のように:

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

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

なぜか失敗し続けます。確かに、バッチ スクリプトを設定して異なる DB の複数のビューを更新するのは初めてなので、これを行うためのより良い方法があれば、提案をお待ちしています。

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 に答える