Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Uppdaterar metadata för den angivna icke-schemabundna vyn. Beständiga metadata för en vy kan bli inaktuella på grund av ändringar i de underliggande objekt som vyn är beroende av.
Transact-SQL syntaxkonventioner
Syntax
sp_refreshview [ @viewname = ] 'viewname'
[ ; ]
Argumentpunkter
[ @viewname = ] "viewname"
Namnet på vyn. @viewname är nvarchar, utan standard. @viewname kan vara en identifierare för flera delar, men kan bara referera till vyer i den aktuella databasen.
Returnera kodvärden
0 (lyckades) eller ett icke-nolltal (fel).
Anmärkningar
Om en vy inte skapas med SCHEMABINDING, sp_refreshview bör köras när ändringar görs i objekten som ligger under vyn, vilket påverkar definitionen av vyn. Annars kan vyn ge oväntade resultat när du frågar den.
Behörigheter
Kräver ALTER behörighet för vyn, samt REFERENCES behörighet för common language runtime (CLR) användardefinierade typer och XML-schemasamlingar som vykolumnerna refererar till.
Exempel
Kodexemplen i den här artikeln använder AdventureWorks2025- eller AdventureWorksDW2025-exempeldatabasen, som du kan ladda ned från startsidan Microsoft SQL Server Samples och Community Projects.
A. Uppdatera metadata för en vy
I följande exempel uppdateras metadata för vyn Sales.vIndividualCustomer.
USE AdventureWorks2025;
GO
EXECUTE sp_refreshview N'Sales.vIndividualCustomer';
B. Skapa ett skript som uppdaterar alla vyer som har beroenden för ett ändrat objekt
Anta att tabellen Person.Person har ändrats på ett sätt som påverkar definitionen av alla vyer som skapas på den. I följande exempel skapas ett skript som uppdaterar metadata för alla vyer som har ett beroende av tabellen 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');