HCatalog - Просмотр

В этой главе описывается, как создать и управлять viewв HCatalog. Представления базы данных создаются с использованиемCREATE VIEWзаявление. Представления могут быть созданы из одной таблицы, нескольких таблиц или другого представления.

Чтобы создать представление, пользователь должен иметь соответствующие системные привилегии в соответствии с конкретной реализацией.

Создать заявление о просмотре

CREATE VIEWсоздает представление с заданным именем. Выдается ошибка, если таблица или представление с таким именем уже существует. Вы можете использоватьIF NOT EXISTS чтобы пропустить ошибку.

Если имена столбцов не указаны, имена столбцов представления будут автоматически получены из defining SELECT expression.

Note - Если SELECT содержит скалярные выражения без псевдонимов, такие как x + y, результирующие имена столбцов представления будут сгенерированы в форме _C0, _C1 и т. Д.

При переименовании столбцов также могут быть предоставлены комментарии к столбцам. Комментарии не наследуются автоматически от нижележащих столбцов.

Оператор CREATE VIEW завершится ошибкой, если представление defining SELECT expression является недействительным.

Синтаксис

CREATE VIEW [IF NOT EXISTS] [db_name.]view_name [(column_name [COMMENT column_comment], ...) ]
[COMMENT view_comment]
[TBLPROPERTIES (property_name = property_value, ...)]
AS SELECT ...;

пример

Ниже приведены данные таблицы сотрудников. Теперь давайте посмотрим, как создать представление с именемEmp_Deg_View содержащие поля id, имя, назначение и зарплату сотрудника с зарплатой более 35000.

+------+-------------+--------+-------------------+-------+
|  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 |
+------+-------------+--------+-------------------+-------+

Ниже приводится команда для создания представления на основе указанных выше данных.

./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;"

Вывод

OK
Time taken: 5.3 seconds

Заявление Drop View

DROP VIEW удаляет метаданные для указанного представления. При удалении представления, на которое ссылаются другие представления, предупреждение не выдается (зависимые представления остаются висящими как недопустимые и должны быть отброшены или созданы заново пользователем).

Синтаксис

DROP VIEW [IF EXISTS] view_name;

пример

Следующая команда используется для удаления представления с именем Emp_Deg_View.

DROP VIEW Emp_Deg_View;