Share via


sp_refreshview (Transact-SQL)

Belirtilen olmayan-şemaya bağlı Görünüm meta veriler güncelleştirir.Görünümü olduğu alttaki nesnelere değişiklikler nedeniyle sürekli meta veriler görünümü için eski haline gelebilir.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

sp_refreshview [ @viewname = ] 'viewname' 

Bağımsız değişkenler

  • [ @viewname= ] 'viewname'
    Görünüm adıdır.viewnameİş nvarchar, ile hiçbir varsayılan.viewnameçok parçalı bir tanımlayıcı olabilir, ancak yalnızca geçerli veritabanında görünümler başvurabilir.

Dönüş Kodu Değerleri

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

Açıklamalar

Görünüm ema balama ile oluşturulmamışsa sp_refreshview görünümünün tanımını etkileyen görünümün temelindeki nesnelere değişiklikler yapıldığında çalıştırılmalıdır.Aksi halde, onu sorgulandığında görünümü beklenmeyen sonuçlar oluşturabilir.

İzinler

Görünüm alter izni ve ortak dil çalışma zamanı (clr) kullanıcı tanımlı türler ve sütunları görüntülemek tarafından başvurulan bir xml şema koleksiyonları başvurular izni gerektirir.

Örnekler

A.Görünüm meta veriler güncelleştiriliyor

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

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

B.Kod oluşturma değiştirilen nesnesi üzerinde bağımlılıkları olan tüm görünümler güncelleştirir

Yaptığınızı varsayar tablo Person.Person it. üzerinde oluşturulan görünümleri tanımını etkiler şekilde değiştirildiAşağıdaki örnek, tabloüzerinde bağımlı olan tüm görünümler için meta veriler yeniler bir komut dosyası oluştururPerson.Person.

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