Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
Ponto de extremidade de análise de SQL no Microsoft Fabric
Depósito no Microsoft Fabric
Banco de dados SQL no Microsoft Fabric
Modifica uma exibição criada anteriormente. Isto inclui uma exibição indexada. ALTER VIEW não afeta procedimentos armazenados dependentes ou disparos e não altera permissões.
Convenções de sintaxe de Transact-SQL
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>
[;]
Argumentos
schema_name
É o nome do esquema ao qual a exibição pertence.
view_name
É a exibição a ser alterada.
column
É o nome de uma ou mais colunas, separadas por vírgulas, que farão parte da exibição especificada.
Importante
Permissões de coluna são mantidas apenas quando as colunas têm o mesmo nome antes e depois ALTER VIEW de ser executado.
Observação
Nas colunas do modo de exibição, as permissões para um nome de coluna se aplicam em uma CREATE VIEW ou ALTER VIEW instrução, independentemente da origem dos dados subjacentes. Por exemplo, se permissões forem concedidas na coluna SalesOrderID em uma CREATE VIEW instrução, uma ALTER VIEW instrução pode renomear a coluna SalesOrderID , como para OrderRef, e ainda assim manter as permissões associadas à visualização usando SalesOrderID.
ENCRYPTION
Aplica-se a: SQL Server 2008 (10.0.x) e posterior e Banco de Dados SQL do Azure.
Criptografa as entradas em sys.syscomments que contêm o texto da ALTER VIEW instrução. O uso de WITH ENCRYPTION impede que a exibição seja publicada como parte da replicação do SQL Server.
SCHEMABINDING
Associa a exibição ao esquema da tabela ou tabelas subjacentes. Quando SCHEMABINDING for especificado, as tabelas base não poderão ser modificadas de um modo que possa afetar a definição da exibição. A própria definição da exibição deve primeiramente ser modificada ou descartada a fim de remover dependências na tabela a ser modificada. Quando você usa SCHEMABINDING, o select_statement deve incluir os nomes de duas partes (esquema.objeto) de tabelas, exibições ou funções definidas pelo usuário que são referenciadas. Todos os objetos referenciados devem estar no mesmo banco de dados.
As exibições ou tabelas que participam de uma exibição, criadas com a cláusula SCHEMABINDING não podem ser descartadas, a menos que a exibição seja descartada ou alterada, de tal forma que não mais tenha associação de esquema. Caso contrário, o Mecanismo de Banco de Dados gera um erro. Além disso, executar ALTER TABLE instruções em tabelas que participam de views com vinculação de esquema falha se essas instruções afetarem a definição da view.
VIEW_METADATA
Especifica que a instância do SQL Server retornará às APIs DB-Library, ODBC e OLE DB as informações de metadados sobre a exibição, em vez da tabela ou tabelas base, quando metadados do modo de procura forem solicitados para uma consulta que faz referência à exibição. Metadados do modo de procura são metadados adicionais que a instância do Mecanismo de Banco de Dados retorna às APIS do DB-Library, ODBC e OLE DB do lado do cliente. Esses metadados permitem que as APIs do lado do cliente implementem cursores atualizáveis do lado do cliente. Os metadados do modo de procura incluem informações sobre a tabela base às quais as colunas do conjunto de resultados pertencem.
Para exibições criadas com VIEW_METADATA, os metadados do modo de procura retornam o nome da exibição e não os nomes de tabela base quando descreverem colunas da exibição no conjunto de resultados.
Quando uma visualização é criada usando COM VIEW_METADATA, todas as suas colunas, exceto uma coluna de carimbo de data, são atualizáveis se a visualização tiver INSERT ou UPDATE EM VEZ de disparar. Para mais informações, veja a seção Observações em CREATE VIEW (Transact-SQL).
AS
São as ações que a exibição deve efetuar.
select_statement
É a instrução SELECT que define a exibição.
COM OPÇÃO DE CHEQUE
Força que todas as instruções de modificação de dados que são executadas em relação à exibição sigam o conjunto de critérios da select_statement.
Comentários
Para mais informações sobre ALTER VIEW, veja Observações em CREATE VIEW (Transact-SQL).
Observação
Se a definição anterior de visualização foi criada usando WITH ENCRYPTION ou CHECK OPTION, essas opções só são ativadas se estiverem incluídas em ALTER VIEW.
Se um modo de exibição usado no momento for modificado usandoALTER VIEW, o Mecanismo de Banco de Dados usará um bloqueio de esquema exclusivo na exibição. Quando o bloqueio for concedido e não houver usuários ativos da exibição, o Mecanismo de Banco de Dados excluirá todas as cópias da exibição do cache de procedimento. Os planos existentes que façam referência à exibição permanecerão no cache, mas serão recompilados quando invocados.
ALTER VIEW pode ser aplicado a exibições indexadas; no entanto, ALTER VIEW descarta incondicionalmente todos os índices na exibição.
Permissões
Para executar ALTER VIEW, no mínimo, a permissão ALTER em OBJECT é necessária.
Exemplos
O exemplo a seguir cria uma exibição que contém todos os funcionários e suas datas de contratação, denominadas EmployeeHireDate. São concedidas permissões para a exibição, mas os requisitos serão alterados para selecionar funcionários cujas datas de contratação sejam anteriores a uma determinada data. Então, ALTER VIEW é usado para substituir a exibição.
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 exibição deve ser alterada para incluir apenas os funcionários que foram contratados antes de 2002. Se ALTER VIEW não for usada, mas a visualização for descartada e recriada, a instrução usada GRANT anteriormente e quaisquer outras instruções que tratem de permissões relacionadas a essa visualização devem ser reinseridas.
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
Consulte Também
CREATE TABLE (Transact-SQL)
CREATE VIEW (Transact-SQL)
DROP VIEW (Transact-SQL)
Criar um procedimento armazenado
SELECT (Transact-SQL)
DADOS DE EVENTOS (Transact-SQL)
Fazer alterações de esquema em bancos de dados de publicação