Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Database SQL di Microsoft Fabric
Memperbarui metadata untuk tampilan yang tidak terikat skema yang ditentukan. Metadata persisten untuk tampilan dapat menjadi kedaluarsa karena perubahan pada objek yang mendasar di mana tampilan bergantung.
Sintaks
sp_refreshview [ @viewname = ] 'viewname'
[ ; ]
Argumen
[ @viewname = ] 'nama tampilan'
Nama tampilan. @viewname adalah nvarchar, tanpa default. @viewname bisa menjadi pengidentifikasi multibagian, tetapi hanya dapat merujuk ke tampilan dalam database saat ini.
Mengembalikan nilai kode
0 (berhasil) atau angka bukan nol (kegagalan).
Keterangan
Jika tampilan tidak dibuat dengan SCHEMABINDING, sp_refreshview harus dijalankan saat perubahan dilakukan pada objek yang mendasari tampilan, yang memengaruhi definisi tampilan. Jika tidak, tampilan dapat menghasilkan hasil yang tidak terduga saat Anda mengkuerinya.
Izin
Memerlukan ALTER izin pada tampilan, dan REFERENCES izin pada jenis runtime bahasa umum (CLR) yang ditentukan pengguna dan kumpulan skema XML yang direferensikan kolom tampilan.
Contoh
Sampel kode dalam artikel ini menggunakan database sampel AdventureWorks2025 atau AdventureWorksDW2025, yang dapat Anda unduh dari halaman beranda Sampel dan Proyek Komunitas Microsoft SQL Server.
J. Memperbarui metadata tampilan
Contoh berikut me-refresh metadata untuk tampilan Sales.vIndividualCustomer.
USE AdventureWorks2025;
GO
EXECUTE sp_refreshview N'Sales.vIndividualCustomer';
B. Membuat skrip yang memperbarui semua tampilan yang memiliki dependensi pada objek yang diubah
Asumsikan bahwa tabel Person.Person diubah dengan cara yang akan memengaruhi definisi tampilan apa pun yang dibuat di atasnya. Contoh berikut membuat skrip yang me-refresh metadata untuk semua tampilan yang memiliki dependensi pada tabel Person.Person.
USE AdventureWorks2025;
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');