HCatalog - Ver
Este capítulo descreve como criar e gerenciar um viewno HCatalog. As visualizações do banco de dados são criadas usando oCREATE VIEWdeclaração. As visualizações podem ser criadas a partir de uma única tabela, várias tabelas ou outra visualização.
Para criar uma visualização, um usuário deve ter privilégios de sistema apropriados de acordo com a implementação específica.
Criar declaração de visão
CREATE VIEWcria uma visualização com o nome fornecido. Um erro é gerado se uma tabela ou exibição com o mesmo nome já existir. Você pode usarIF NOT EXISTS para pular o erro.
Se nenhum nome de coluna for fornecido, os nomes das colunas da visão serão derivados automaticamente do defining SELECT expression.
Note - Se o SELECT contiver expressões escalares sem alias, como x + y, os nomes das colunas de visualização resultantes serão gerados no formato _C0, _C1, etc.
Ao renomear colunas, comentários de coluna também podem ser fornecidos. Os comentários não são herdados automaticamente das colunas subjacentes.
Uma instrução CREATE VIEW falhará se a visão defining SELECT expression é inválido.
Sintaxe
CREATE VIEW [IF NOT EXISTS] [db_name.]view_name [(column_name [COMMENT column_comment], ...) ]
[COMMENT view_comment]
[TBLPROPERTIES (property_name = property_value, ...)]
AS SELECT ...;
Exemplo
A seguir estão os dados da tabela de funcionários. Agora vamos ver como criar uma visão chamadaEmp_Deg_View contendo os campos id, nome, designação e salário de um funcionário com um salário superior a 35.000.
+------+-------------+--------+-------------------+-------+
| ID | Name | Salary | Designation | Dept |
+------+-------------+--------+-------------------+-------+
| 1201 | Gopal | 45000 | Technical manager | TP |
| 1202 | Manisha | 45000 | Proofreader | PR |
| 1203 | Masthanvali | 30000 | Technical writer | TP |
| 1204 | Kiran | 40000 | Hr Admin | HR |
| 1205 | Kranthi | 30000 | Op Admin | Admin |
+------+-------------+--------+-------------------+-------+
A seguir está o comando para criar uma visualização com base nos dados fornecidos acima.
./hcat –e "CREATE VIEW Emp_Deg_View (salary COMMENT ' salary more than 35,000')
AS SELECT id, name, salary, designation FROM employee WHERE salary ≥ 35000;"
Resultado
OK
Time taken: 5.3 seconds
Drop View Extrato
DROP VIEW remove metadados para a visão especificada. Ao eliminar uma visão referenciada por outras visões, nenhum aviso é dado (as visões dependentes são deixadas penduradas como inválidas e devem ser eliminadas ou recriadas pelo usuário).
Sintaxe
DROP VIEW [IF EXISTS] view_name;
Exemplo
O seguinte comando é usado para remover uma visão chamada Emp_Deg_View.
DROP VIEW Emp_Deg_View;