Учебники

HCatalog — Просмотр

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

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

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

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

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

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

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

Оператор CREATE VIEW завершится ошибкой, если определяющее представление выражение SELECT недопустимо.

Синтаксис

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, name, Designation и оклад сотрудника с зарплатой, превышающей 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 |
+------+-------------+--------+-------------------+-------+

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

./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 [IF EXISTS] view_name;

пример

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