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;