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.
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');