HCatalog - Afficher

Ce chapitre décrit comment créer et gérer un viewdans HCatalog. Les vues de base de données sont créées à l'aide deCREATE VIEWdéclaration. Les vues peuvent être créées à partir d'une seule table, de plusieurs tables ou d'une autre vue.

Pour créer une vue, un utilisateur doit disposer des privilèges système appropriés en fonction de l'implémentation spécifique.

Créer une déclaration de vue

CREATE VIEWcrée une vue avec le nom donné. Une erreur est générée si une table ou une vue portant le même nom existe déjà. Vous pouvez utiliserIF NOT EXISTS pour ignorer l'erreur.

Si aucun nom de colonne n'est fourni, les noms des colonnes de la vue seront automatiquement dérivés du defining SELECT expression.

Note - Si le SELECT contient des expressions scalaires sans alias telles que x + y, les noms de colonne de vue résultants seront générés sous la forme _C0, _C1, etc.

Lors du changement de nom des colonnes, des commentaires de colonne peuvent également être fournis. Les commentaires ne sont pas automatiquement hérités des colonnes sous-jacentes.

Une instruction CREATE VIEW échouera si la vue defining SELECT expression est invalide.

Syntaxe

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

Exemple

Voici les données de la table des employés. Voyons maintenant comment créer une vue nomméeEmp_Deg_View contenant les champs id, nom, désignation et salaire d'un employé ayant un salaire supérieur à 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 |
+------+-------------+--------+-------------------+-------+

Voici la commande pour créer une vue basée sur les données ci-dessus.

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

Production

OK
Time taken: 5.3 seconds

Déclaration Drop View

DROP VIEW supprime les métadonnées de la vue spécifiée. Lors de la suppression d'une vue référencée par d'autres vues, aucun avertissement n'est donné (les vues dépendantes sont laissées en suspens comme non valides et doivent être supprimées ou recréées par l'utilisateur).

Syntaxe

DROP VIEW [IF EXISTS] view_name;

Exemple

La commande suivante est utilisée pour supprimer une vue nommée Emp_Deg_View.

DROP VIEW Emp_Deg_View;