Aracılığıyla paylaş


sp_refreshview (Transact-SQL)

Belirtilen olmayan-şemaya bağlı görünüm için meta veriler güncelleştirir.Arka plandaki nesneleri görünümü bağlı olduğu değişiklikler nedeniyle kalıcı meta veriler görünümü için eski haline gelir.

Topic link iconTransact-SQL sözdizimi kuralları

sp_refreshview [ @viewname = ] 'viewname' 

Bağımsız değişkenler

  • [ @viewname= ] 'viewname'
    Is the name of the view.viewname is nvarchar, with no default.viewname can be a multipart identifier, but can only refer to views in the current database.

Dönüş Kodu Değerleri

0 (başarılı) veya sıfır olmayan bir sayı (hata)

Remarks

Schemabinding ile bir görünüm oluşturduysanız sp_refreshview , Görünüm tanımını etkileyen görünümü temel alınan nesneler için bir değişiklik yapıldığında çalıştırmalısınız.Aksi halde, bunu sorgulandığında, görünümü beklenmeyen sonuçlar doğurabilir.

İzinler

Görünümdeki ALTER iznine ve kullanıcı tarafından tanımlanan ortak dil çalışma zamanı (CLR) türleri ve görünümü sütunları tarafından başvurulan bir XML şema koleksiyonları BAşVURULAR izni gerektirir.

Örnekler

C.Bir görünümün meta veriler güncelleştiriliyor

Aşağıdaki örnek görünüm için meta veriler yeniler. Sales.vIndividualCustomer.

USE AdventureWorks;
GO
EXECUTE sp_refreshview N'Sales.vIndividualCustomer';

b.Bir komut dosyası oluşturma bağımlılıklar, değiştirilen bir nesne üzerinde sahip tüm görünümlerde güncelleştirir.

Varsayalım tablo Person.Contact üzerinde oluşturulan herhangi bir görünüm tanımını etkileyecek şekilde değiştirildi. Aşağıdaki örnek bir bağımlılık açık olan tüm görünümlerde meta veriler yeniler, bir komut oluşturur tablo Person.Contact.

USE AdventureWorks;
GO
SELECT DISTINCT 'EXEC sp_refreshview ''' + name + '''' 
FROM sys.objects AS so 
INNER JOIN sys.sql_expression_dependencies AS sed 
    ON so.object_id = sed.referencing_id 
WHERE so.type = 'V' AND sed.referenced_id = OBJECT_ID('Person.Contact');