Cria uma view ou atualiza uma view existente com base em uma instrução de consulta.
Limites
Uma view pode referenciar outras views, mas não a si mesma. O sistema não oferece suporte a referências circulares.
Não é permitido gravar dados em uma view. Os comandos
INSERT INTOeINSERT OVERWRITEnão são executáveis em views.
Sintaxe
create [or replace] view [if not exists] <view_name>
[(<col_name> [comment <col_comment>], ...)]
[comment <view_comment>]
as <select_statement>;
Parâmetros
Obrigatórios
|
Parâmetro |
Descrição |
|
|
Nome da view a criar ou atualizar. |
|
|
Nomes das colunas na view. |
|
|
Cláusula |
Opcionais
|
Parâmetro |
Descrição |
|
|
Atualize uma view existente. As permissões da view permanecem inalteradas após a recriação. |
|
|
Ignora a criação caso já exista uma view com o mesmo nome. Sem essa cláusula, o comando |
|
|
Comentário para cada coluna. |
|
|
Comentário para a view. |
Observações de uso
A view não é atualizada automaticamente quando suas tabelas subjacentes sofrem alterações. Se uma tabela referenciada for modificada (por exemplo, excluída), a view poderá ficar inacessível. Mantenha os mapeamentos entre as views e suas tabelas referenciadas.
Exemplos
Exemplo 1: Crie uma view
Crie a view sale_detail_view com base em sale_detail, expondo todas as colunas.
create view if not exists sale_detail_view
(store_name, customer_id, price, sale_date, region)
comment 'a view for table sale_detail'
as select * from sale_detail;
Exemplo 2: Atualize uma view
Substitua a view sale_detail_view para expor apenas três colunas.
create or replace view if not exists sale_detail_view
(store_name, customer_id, price)
comment 'a view for table sale_detail'
as select shop_name, customer_id, total_price from sale_detail;
Próximos passos
ALTER VIEW: Renomeia uma view existente ou altera seu proprietário.
DESC VIEW: Visualize as informações de uma view existente.
DROP VIEW: Exclui uma view existente.