HCatalog-表示

この章では、を作成および管理する方法について説明します。 viewHCatalogで。データベースビューは、CREATE VIEWステートメント。ビューは、単一のテーブル、複数のテーブル、または別のビューから作成できます。

ビューを作成するには、ユーザーは特定の実装に応じて適切なシステム権限を持っている必要があります。

ビューステートメントの作成

CREATE VIEW指定された名前でビューを作成します。同じ名前のテーブルまたはビューがすでに存在する場合、エラーがスローされます。使用できますIF NOT EXISTS エラーをスキップします。

列名が指定されていない場合、ビューの列の名前はから自動的に取得されます。 defining SELECT expression

Note −SELECTにx + yなどのエイリアスされていないスカラー式が含まれている場合、結果のビュー列名は_C0、_C1などの形式で生成されます。

列の名前を変更するときに、列のコメントも指定できます。コメントは、基になる列から自動的に継承されません。

ビューのCREATEVIEWステートメントは失敗します 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 給与が35,000を超える従業員のフィールドid、名前、指定、および給与が含まれています。

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

DROP VIEW Emp_Deg_View;