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;