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. Por exemplo, não é possível executar
INSERT INTOouINSERT OVERWRITEem uma view.
Sintaxe
create [or replace] view [if not exists] <view_name>
[(<col_name> [comment <col_comment>], ...)]
[comment <view_comment>]
as <select_statement>;
Parâmetros
|
Parâmetro |
Obrigatório |
Descrição |
|
or replace |
Não |
Necessário para atualize uma view. |
|
if not exists |
Não |
Se você executar a instrução |
|
view_name |
Sim |
Nome da view a ser criada ou atualizada. |
|
col_name |
Sim |
Nomes das colunas na view a ser criada. |
|
col_comment |
Não |
Comentários das colunas na view a ser criada. |
|
view_comment |
Não |
Comentário da view a ser criada. |
|
select_statement |
Sim |
Cláusula |
Após a criação ou atualização de uma view, ela poderá ficar inacessível se a tabela referenciada for modificada (por exemplo, se for excluída). Mantenha os mapeamentos entre as tabelas referenciadas e as views.
Exemplos
-
Exemplo 1: Crie a view sale_detail_view com base na tabela sale_detail.
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 a view sale_detail_view com base na tabela sale_detail.
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;
Instruções relacionadas
ALTER VIEW: Altera o nome ou o proprietário de uma view existente.
DESC VIEW: Visualize as informações sobre uma view existente.
DROP VIEW: Exclui uma view existente.