Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Ponto de Extremidade de Análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base de Dados SQL no Microsoft Fabric
Modifica uma vista previamente criada. Isto inclui uma vista indexada. O ALTER VIEW não afeta procedimentos armazenados dependentes ou disparadores e não altera permissões.
Transact-SQL convenções de sintaxe
Sintaxe
ALTER VIEW [ schema_name . ] view_name [ ( column [ ,...n ] ) ]
[ WITH <view_attribute> [ ,...n ] ]
AS select_statement
[ WITH CHECK OPTION ] [ ; ]
<view_attribute> ::=
{
[ ENCRYPTION ]
[ SCHEMABINDING ]
[ VIEW_METADATA ]
}
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse and Microsoft Fabric
ALTER VIEW [ schema_name . ] view_name [ ( column_name [ ,...n ] ) ]
AS <select_statement>
[;]
Arguments
schema_name
É o nome do esquema ao qual a vista pertence.
view_name
É a visão para mudar.
coluna
É o nome de uma ou mais colunas, separadas por vírgulas, que devem fazer parte da vista especificada.
Importante
As permissões de coluna são mantidas apenas quando as colunas têm o mesmo nome antes e depois de ser realizado o ALTER VIEW.
Observação
Nas colunas da vista, as permissões para o nome de uma coluna aplicam-se a uma instrução CREATE VIEW ou ALTER VIEW, independentemente da origem dos dados subjacentes. Por exemplo, se forem concedidas permissões na coluna SalesOrderID numa instrução CREATE VIEW, uma instrução ALTER VIEW pode renomear a coluna SalesOrderID , como por exemplo para OrderRef, mantendo as permissões associadas à vista usando o SalesOrderID.
ENCRIPTAÇÃO
Aplica-se a: SQL Server 2008 (10.0.x) e posteriores e Azure SQL Database.
Encripta as entradas em sys.syscomments que contêm o texto da instrução ALTER VIEW. COM ENCRIPTAÇÃO impede que a visualização seja publicada como parte da replicação do SQL Server.
SCHEMABINDING
Vincula a vista ao esquema da tabela ou tabelas subjacentes. Quando o SCHEMABINDING é especificado, as tabelas base não podem ser modificadas de forma a afetar a definição da vista. A própria definição de vista deve primeiro ser modificada ou eliminada para remover dependências da tabela a ser modificada. Quando usa SCHEMABINDING, o select_statement deve incluir os nomes de duas partes (schema.objeto) de tabelas, vistas ou funções definidas pelo utilizador que são referenciadas. Todos os objetos referenciados devem estar na mesma base de dados.
Vistas ou tabelas que participam numa vista criada com a cláusula SCHEMABINDING não podem ser eliminadas, a menos que essa vista seja eliminada ou alterada para que deixe de ter ligação ao esquema. Caso contrário, o Motor de Base de Dados gera um erro. Além disso, executar instruções ALTER TABLE em tabelas que participam em vistas com ligação de esquema falha se estas instruções afetarem a definição da vista.
VIEW_METADATA
Especifica que a instância do SQL Server devolverá às APIs da Biblioteca de Dados, ODBC e OLE DB a informação dos metadados sobre a vista, em vez da tabela base, quando os metadados em modo de navegação forem solicitados para uma consulta que faça referência à vista. Os metadados em modo de navegação são metadados adicionais que a instância do Motor de Base de Dados devolve às APIs de DB do lado do cliente, ODBC e OLE. Estes metadados permitem que as APIs do lado do cliente implementem cursores do lado do cliente atualizáveis. Os metadados do modo de navegação incluem informação sobre a tabela base à qual pertencem as colunas do conjunto de resultados.
Para visualizações criadas com VIEW_METADATA, os metadados em modo de navegação devolvem o nome da vista e não os nomes das tabelas base quando descrevem colunas da vista no conjunto de resultados.
Quando uma vista é criada usando WITH VIEW_METADATA, todas as suas colunas, exceto uma coluna de carimbo temporal , são atualizáveis se a vista tiver triggers INSERT ou UPDATE EM VEZ de TRIGGERS. Para mais informações, consulte a secção de Observações em CRIAR VISTA (Transact-SQL).
COMO
São as ações que a visão deve tomar?
select_statement
É a instrução SELECT que define a vista.
COM OPÇÃO DE VERIFICAÇÃO
Obriga todas as declarações de modificação de dados executadas contra a visão a seguirem os critérios definidos select_statement.
Observações
Para mais informações sobre o ALTER VIEW, consulte Observações em CREATE VIEW (Transact-SQL).
Observação
Se a definição anterior de vista foi criada usando WITH ENCRYPTION ou CHECK OPTION, estas opções só são ativadas se estiverem incluídas no ALTER VIEW.
Se uma vista atualmente utilizada for modificada usando o ALTER VIEW, o Motor de Base de Dados assume um bloqueio exclusivo de esquema na vista. Quando o bloqueio é concedido e não há utilizadores ativos da vista, o Motor de Base de Dados apaga todas as cópias da vista da cache do procedimento. Os planos existentes que referenciam a vista permanecem na cache, mas são recompilados quando invocados.
O ALTER VIEW pode ser aplicado a vistas indexadas; no entanto, o ALTER VIEW elimina incondicionalmente todos os índices da visualização.
Permissions
Para executar o ALTER VIEW, no mínimo, é necessária permissão ALTER no OBJECTO.
Examples
O exemplo seguinte cria uma vista que contém todos os colaboradores e as suas datas de contratação chamada EmployeeHireDate. São concedidas permissões à vista, mas os requisitos são alterados para selecionar funcionários cujas datas de contratação são anteriores a uma determinada data. Depois, ALTER VIEW é usado para substituir a vista.
USE AdventureWorks2022;
GO
CREATE VIEW HumanResources.EmployeeHireDate
AS
SELECT p.FirstName, p.LastName, e.HireDate
FROM HumanResources.Employee AS e JOIN Person.Person AS p
ON e.BusinessEntityID = p.BusinessEntityID ;
GO
A perspetiva deve ser alterada para incluir apenas os funcionários contratados antes 2002de . Se o ALTER VIEW não for utilizado, mas a vista for abandonada e recriada, a instrução GRANT anteriormente usada e quaisquer outras instruções que tratem de permissões relacionadas com esta vista devem ser reintroduzidas.
ALTER VIEW HumanResources.EmployeeHireDate
AS
SELECT p.FirstName, p.LastName, e.HireDate
FROM HumanResources.Employee AS e JOIN Person.Person AS p
ON e.BusinessEntityID = p.BusinessEntityID
WHERE HireDate < CONVERT(DATETIME,'20020101',101) ;
GO
Ver também
CRIAR TABELA (Transact-SQL)
CRIAR VISTA (Transact-SQL)
DROP VIEW (Transact-SQL)
criar um procedimento armazenado
SELECIONAR (Transact-SQL)
EVENTDATA (Transact-SQL)
Fazer alterações de esquemas nas bases de dados de publicação