Hcatalog-view
提供:Dev Guides
HCatalog-表示
この章では、HCatalogで view を作成および管理する方法について説明します。 データベースビューは、 CREATE VIEW ステートメントを使用して作成されます。 ビューは、単一のテーブル、複数のテーブル、または別のビューから作成できます。
ビューを作成するには、特定の実装に応じて適切なシステム権限が必要です。
ビューステートメントの作成
*CREATE VIEW* は、指定された名前でビューを作成します。 同じ名前のテーブルまたはビューが既に存在する場合、エラーがスローされます。 *IF NOT EXISTS* を使用してエラーをスキップできます。
列名が指定されていない場合、ビューの列の名前は defining SELECT expression から自動的に導出されます。
注意-SELECTにx + yなどのエイリアスのないスカラー式が含まれる場合、結果のビュー列名は_C0、_C1などの形式で生成されます。
列の名前を変更するときに、列のコメントも提供できます。 コメントは、基になる列から自動的に継承されません。
ビューの*定義SELECT式*が無効な場合、CREATE VIEWステートメントは失敗します。
構文
CREATE VIEW [IF NOT EXISTS] [db_name.]view_name [(column_name [COMMENT column_comment], ...) ]
[COMMENT view_comment]
[TBLPROPERTIES (property_name = property_value, ...)]
AS SELECT ...;
例
以下は従業員テーブルのデータです。 ここで、給与が35,000を超える従業員のフィールドid、name、Designation、salaryを含む Emp_Deg_View という名前のビューを作成する方法を見てみましょう。
+------+-------------+--------+-------------------+-------+
| 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;