Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Belirtilen şemaya bağlı olmayan görünüm için meta verileri güncelleştirir. Görünümün bağlı olduğu temel nesnelerde yapılan değişiklikler nedeniyle bir görünümün kalıcı meta verileri eskiye gidebilir.
Transact-SQL söz dizimi kuralları
Sözdizimi
sp_refreshview [ @viewname = ] 'viewname'
[ ; ]
Tartışmalar
[ @viewname = ] 'viewname'
Görünümün adı. @viewnamenvarchar değeridir ve varsayılan değer yoktur. @viewname çok parçalı bir tanımlayıcı olabilir, ancak yalnızca geçerli veritabanındaki görünümlere başvurabilir.
Dönüş kodu değerleri
0
(başarı) veya sıfır olmayan bir sayı (başarısızlık).
Açıklamalar
SCHEMABINDING ile bir görünüm oluşturulmadıysa, sp_refreshview
görünümün tanımını etkileyen, görünümün temel aldığı nesnelerde değişiklikler yapıldığında çalıştırılmalıdır. Aksi takdirde, sorgulandığında görünüm beklenmeyen sonuçlara neden olabilir.
İzinler
Görünümde ALTER izni ve görünüm sütunları tarafından başvurulan ortak dil çalışma zamanı (CLR) kullanıcı tanımlı türleri ve XML şema koleksiyonlarında BAŞVURUlar izni gerektirir.
Örnekler
A. Görünümün meta verilerini güncelleştirme
Aşağıdaki örnek, görünümü Sales.vIndividualCustomer
için meta verileri yeniler.
USE AdventureWorks2022;
GO
EXECUTE sp_refreshview N'Sales.vIndividualCustomer';
B. Değiştirilen nesneye bağımlılıkları olan tüm görünümleri güncelleştiren bir betik oluşturma
Tablonun Person.Person
, üzerinde oluşturulan görünümlerin tanımını etkileyecek şekilde değiştirildiğini varsayalım. Aşağıdaki örnek, tablosuna Person.Person
bağımlılığı olan tüm görünümler için meta verileri yenileyen bir betik oluşturur.
USE AdventureWorks2022;
GO
SELECT DISTINCT 'EXECUTE 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');