sp_refreshview (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do Azure
Atualiza os metadados para a exibição não associada a esquema. Os metadados persistentes de uma exibição podem tornar-se desatualizados devido a alterações em objetos subjacentes dos quais a exibição depende.
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_refreshview [ @viewname = ] 'viewname'
[ ; ]
Argumentos
@viewname [ = ] 'nome_do_visualização'
O nome da exibição. @viewname é nvarchar, sem padrão. @viewname pode ser um identificador de várias partes, mas só pode se referir a exibições no banco de dados atual.
Valores do código de retorno
0
(sucesso) ou um número diferente de zero (falha).
Comentários
Se um modo de exibição não for criado com SCHEMABINDING, deverá ser executado quando forem feitas alterações nos objetos subjacentes ao modo de exibição, sp_refreshview
que afetam a definição do modo de exibição. Caso contrário, a exibição poderá gerar resultados inesperados quando consultada.
Permissões
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.
Exemplos
R. Atualizar os metadados de um modo de exibição
O exemplo a seguir atualiza os metadados da exibição Sales.vIndividualCustomer
.
USE AdventureWorks2022;
GO
EXECUTE sp_refreshview N'Sales.vIndividualCustomer';
B. Criar um script que atualize todos os modos de exibição que tenham dependências em um objeto alterado
Considera que a tabela Person.Person
foi alterada de certo modo que afeta a definição de qualquer exibição criada a partir dela. O exemplo a seguir cria um script que atualiza os metadados de todas as exibições com dependência da tabela Person.Person
.
USE AdventureWorks2022;
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');
Conteúdo relacionado
Comentários
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Enviar e exibir comentários de