0

今日、ビュー内のテーブルを変更すると、sp_refreshview を実行しないとこのビューの syscolumns が更新されないことに気付きました。以下のコードは、私が話していることを示しています

create table Test ( n1 decimal(12,4) )
go
create view VTest as Select * from Test;
go
sp_help VTest
go
alter table Test alter column n1 decimal(12,2)
go
sp_help VTest

VTest は静的なままであることに注意してください。このプロセスを自動化する方法はありますか?

4

1 に答える 1

4

sp_refreshviewビューを更新するには呼び出す必要があります

create table Test ( n1 decimal(12,4) )
go
create view VTest as Select * from Test;
go
sp_help VTest
go
alter table Test alter column n1 decimal(12,2)
EXEC sp_refreshview  VTest
go
sp_help VTest
于 2013-05-08T14:30:14.750 に答える