sp_refreshview (Transact-SQL)sp_refreshview (Transact-SQL)

SI APPLICA A: sìSQL Server noDatabase SQL di AzurenoAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Aggiorna i metadati per la vista non associata a schema specificata.Updates the metadata for the specified non-schema-bound view. I metadati persistenti di una vista possono diventare obsoleti in seguito alla modifica degli oggetti sottostanti su cui è basata la vista.Persistent metadata for a view can become outdated because of changes to the underlying objects upon which the view depends.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintassiSyntax

  
sp_refreshview [ @viewname = ] 'viewname'   

ArgomentiArguments

[ @viewname = ] 'viewname' È il nome della visualizzazione.[ @viewname = ] 'viewname' Is the name of the view. ViewName viene nvarchar, non prevede alcun valore predefinito.viewname is nvarchar, with no default. ViewName può essere un identificatore in più parti, ma può fare riferimento solo alle visualizzazioni nel database corrente.viewname can be a multipart identifier, but can only refer to views in the current database.

Valori restituitiReturn Code Values

0 (esito positivo) o un numero diverso da zero (esito negativo)0 (success) or a nonzero number (failure)

NoteRemarks

Se una vista non viene creata con, schemabinding sp_refreshview deve essere eseguito quando vengono apportate modifiche agli oggetti sottostanti la vista che influiscono sulla definizione della vista.If a view is not created with schemabinding, sp_refreshview should be run when changes are made to the objects underlying the view that affect the definition of the view. In caso contrario, le query sulla vista possono generare risultati imprevisti.Otherwise, the view might produce unexpected results when it is queried.

PermissionsPermissions

Sono richieste l'autorizzazione ALTER per la vista e l'autorizzazione REFERENCES per i tipi CLR (Common Language Runtime) definiti dall'utente e le raccolte di XML Schema a cui fanno riferimento le colonne della vista.Requires ALTER permission on the view and REFERENCES permission on common language runtime (CLR) user-defined types and XML schema collections that are referenced by the view columns.

EsempiExamples

R.A. Aggiornamento dei metadati di una vistaUpdating the metadata of a view

Nell'esempio seguente vengono aggiornati i metadati della vista Sales.vIndividualCustomer.The following example refreshes the metadata for the view Sales.vIndividualCustomer.

USE AdventureWorks2012;  
GO  
EXECUTE sp_refreshview N'Sales.vIndividualCustomer';  

B.B. Creazione di uno script con cui vengono aggiornate tutte le viste con dipendenze da un oggetto modificatoCreating a script that updates all views that have dependencies on a changed object

Si supponga che la tabella Person.Person sia stata modificata in modo da influire sulla definizione di qualsiasi vista creata in base a essa.Assume that the table Person.Person was changed in a way that would affect the definition of any views that are created on it. Nell'esempio seguente viene creato uno script con cui vengono aggiornati i metadati di tutte le viste con una dipendenza dalla tabella Person.Person.The following example creates a script that refreshes the metadata for all views that have a dependency on table Person.Person.

USE AdventureWorks2012;  
GO  
SELECT DISTINCT 'EXEC 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');  

Vedere ancheSee Also

Motore di database le Stored procedure (Transact-SQL) Database Engine Stored Procedures (Transact-SQL)
Stored procedure di sistema (Transact-SQL) System Stored Procedures (Transact-SQL)
sys.sql_expression_dependencies (Transact-SQL) sys.sql_expression_dependencies (Transact-SQL)
sp_refreshsqlmodule (Transact-SQL)sp_refreshsqlmodule (Transact-SQL)