2013年6月19日水曜日

フィールドの型・精度とか変更時にビューの情報(メタデータ)を一括で更新 [SQLServer]

テーブルのフィールドの型とか精度とか変えてから
ビューの情報を取得しても更新されてない前のままのがでる・・・

ビューのデザインを開いて登録し直すか、

-------------------------------------------
exec sp_refreshview [ビュー名1];
-------------------------------------------


を実行するとメタデータが更新されるみたい。

一つのテーブルが色んなビューに使われてると更新めんどいから・・・

-------------------------------------------
USE [データベース名]

ALTER PROCEDURE [プロシージャ名]
AS

BEGIN

exec sp_refreshview [ビュー名1];

exec sp_refreshview [ビュー名2];

exec sp_refreshview [ビュー名3];

END
-------------------------------------------

でストアドプロシージャに全ビューを登録しとけば、
何か変更したらとりあえずこのストアドプロシージャ実行しとけば大丈夫に。


フィールド名変更は対応してくれないけど

0 件のコメント:

コメントを投稿