HCatalog - Wyświetl

W tym rozdziale opisano, jak tworzyć i zarządzać plikami vieww HCatalog. Widoki bazy danych są tworzone przy użyciuCREATE VIEWkomunikat. Widoki można tworzyć z pojedynczej tabeli, wielu tabel lub innego widoku.

Aby utworzyć widok, użytkownik musi mieć odpowiednie uprawnienia systemowe zgodnie z określoną implementacją.

Utwórz instrukcję widoku

CREATE VIEWtworzy widok o podanej nazwie. Jeśli tabela lub widok o tej samej nazwie już istnieje, generowany jest błąd. Możesz użyćIF NOT EXISTS pominąć błąd.

Jeśli nie podano nazw kolumn, nazwy kolumn widoku zostaną automatycznie utworzone na podstawie pliku defining SELECT expression.

Note - Jeśli SELECT zawiera niealiasowane wyrażenia skalarne, takie jak x + y, wynikowe nazwy kolumn widoku zostaną wygenerowane w postaci _C0, _C1 itp.

Podczas zmiany nazw kolumn można również podać komentarze do kolumn. Komentarze nie są dziedziczone automatycznie z bazowych kolumn.

Instrukcja CREATE VIEW zakończy się niepowodzeniem, jeśli plik widoku defining SELECT expression jest nieważny.

Składnia

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

Przykład

Poniżej znajdują się dane tabeli pracowników. Zobaczmy teraz, jak utworzyć widok o nazwieEmp_Deg_View zawierające pola id, imię i nazwisko, oznaczenie i wynagrodzenie pracownika o pensji powyżej 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 |
+------+-------------+--------+-------------------+-------+

Poniżej znajduje się polecenie tworzenia widoku na podstawie powyższych danych.

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

Wynik

OK
Time taken: 5.3 seconds

Instrukcja Drop View

DROP VIEW usuwa metadane dla określonego widoku. Podczas usuwania widoku, do którego odwołują się inne widoki, nie jest wyświetlane żadne ostrzeżenie (widoki zależne pozostają wiszące jako nieprawidłowe i muszą zostać usunięte lub odtworzone przez użytkownika).

Składnia

DROP VIEW [IF EXISTS] view_name;

Przykład

Poniższe polecenie służy do usuwania widoku o nazwie Emp_Deg_View.

DROP VIEW Emp_Deg_View;