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
Koncový bod analýz SQL v prostředí Microsoft Fabric
Sklad v prostředí Microsoft Fabric
Databáze SQL v prostředí Microsoft Fabric
Procedura uložená v systému aktualizuje sys.sp_refreshview metadata pro specifikovaný pohled bez schématového režimu. Trvalá metadata zobrazení můžou být zastaralá kvůli změnám podkladových objektů, na kterých zobrazení závisí.
Syntaxe
sys.sp_refreshview [ @viewname = ] N'viewname'
[ ; ]
Argumenty
[ @viewname = ] N'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 nevytvoříte pohled s SCHEMABINDING, spouštějte sp_refreshview , když změníte objekty, které jsou základem pohledu, a které ovlivňují definici pohledu. Jinak by pohled mohl při dotazování vrátit 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í databázi , AdventureWorksDW2025, neboli AdventureWorksLT2025 ukázkovou databáziAdventureWorks2025, kterou si můžete stáhnout z Azure Data SQL Samples Repository GitHub repository.
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 tak, že to ovlivní definici jakýchkoli názorů na ni. Následující příklad vytváří skript, který obnovuje metadata pro všechny pohledy závislé 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)
- sys.sp_refreshsqlmodule (Transact-SQL)