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

APLICA-SE A: simSQL Server nãoBanco de Dados SQL do Azure nãoAzure Synapse Analytics (SQL DW) nãoParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Atualiza os metadados para a exibição não associada a esquema.Updates the metadata for the specified non-schema-bound view. Os metadados persistentes de uma exibição podem tornar-se desatualizados devido a alterações em objetos subjacentes dos quais a exibição depende.Persistent metadata for a view can become outdated because of changes to the underlying objects upon which the view depends.

Ícone de link do tópico Convenções de sintaxe de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

  
sp_refreshview [ @viewname = ] 'viewname'   

ArgumentosArguments

[ @viewname = ] 'viewname' É o nome da exibição.[ @viewname = ] 'viewname' Is the name of the view. viewname está nvarchar, sem padrão.viewname is nvarchar, with no default. viewname pode ser um identificador de várias partes, mas só pode se referir a exibições no banco de dados atual.viewname can be a multipart identifier, but can only refer to views in the current database.

Valores do código de retornoReturn Code Values

0 (êxito) ou um número diferente de zero (falha)0 (success) or a nonzero number (failure)

ComentáriosRemarks

Se um modo de exibição não for criado com schemabinding, sp_refreshview deve ser executado quando forem feitas alterações aos objetos subjacentes à exibição que afetam a definição da exibição.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. Caso contrário, a exibição poderá gerar resultados inesperados quando consultada.Otherwise, the view might produce unexpected results when it is queried.

PermissõesPermissions

Requer permissão ALTER na exibição e permissão REFERENCES em tipos definidos pelo usuário de common language runtime (CLR) e coleções de esquema XML referenciadas por colunas de exibição.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.

ExemplosExamples

A.A. Atualizando os metadados de uma exibiçãoUpdating the metadata of a view

O exemplo a seguir atualiza os metadados da exibição Sales.vIndividualCustomer.The following example refreshes the metadata for the view Sales.vIndividualCustomer.

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

B.B. Criando um script que atualiza todas as exibições com dependências de um objeto alteradoCreating a script that updates all views that have dependencies on a changed object

Considera que a tabela Person.Person foi alterada de certo modo que afeta a definição de qualquer exibição criada a partir dela.Assume that the table Person.Person was changed in a way that would affect the definition of any views that are created on it. O exemplo a seguir cria um script que atualiza os metadados de todas as exibições com dependência da tabela 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');  

Consulte tambémSee Also

Procedimentos armazenados do mecanismo de banco de dados (Transact-SQL) Database Engine Stored Procedures (Transact-SQL)
Procedimentos armazenados do 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)