Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Aktualizuje metadata pro zadané zobrazení vázané na schéma. Trvalá metadata zobrazení můžou být zastaralá kvůli změnám podkladových objektů, na kterých zobrazení závisí.
Syntaxe
sp_refreshview [ @viewname = ] 'viewname'
[ ; ]
Argumenty
[ @viewname = ] 'viewname'
Název zobrazení. @viewname je nvarchar, bez výchozího nastavení. @viewname může být identifikátor více částí, ale může odkazovat pouze na zobrazení v aktuální databázi.
Hodnoty návratového kódu
0 (úspěch) nebo nenulové číslo (selhání).
Poznámky
Pokud pohled není vytvořen s , SCHEMABINDINGsp_refreshview měl by být spuštěn při změnách objektů, které jsou v pohledu základem, což ovlivňuje definici pohledu. Jinak by pohled mohl při dotazování přinést neočekávané výsledky.
Povolení
Vyžaduje ALTER oprávnění k zobrazení a REFERENCES k uživatelsky definovaným typům a XML schématům, na které odkazují sloupce pohledu v běžném jazyce (CLR).
Příklady
Ukázky kódu v tomto článku používají ukázkovou databázi AdventureWorks2025 nebo AdventureWorksDW2025, kterou si můžete stáhnout z domovské stránky Microsoft SQL Serveru pro ukázky a komunitní projekty .
A. Aktualizace metadat zobrazení
Následující příklad aktualizuje metadata pro zobrazení Sales.vIndividualCustomer.
USE AdventureWorks2025;
GO
EXECUTE sp_refreshview N'Sales.vIndividualCustomer';
B. Vytvoření skriptu, který aktualizuje všechna zobrazení, která mají závislosti na změněný objekt
Předpokládejme, že tabulka Person.Person byla změněna způsobem, který by ovlivnil definici všech zobrazení, která jsou na ní vytvořena. Následující příklad vytvoří skript, který aktualizuje metadata pro všechna zobrazení, která mají závislost na tabulce 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');
Související obsah
- uložené procedury databázového stroje (Transact-SQL)
- uložené procedury systému (Transact-SQL)
- sys.sql_expression_dependencies (Transact-SQL)
- sp_refreshsqlmodule (Transact-SQL)