クエリ文に基づいて、ビューを作成するか、既存のビューを更新します。
制限事項
ビューは他のビューを参照できますが、それ自体は参照できません。 循環参照には対応していません。
ビューにデータを書き込むことはできません。 たとえば、
INSERT INTOまたはINSERT OVERWRITEはビューでは実行できません。
構文
create [or replace] view [if not exists] <view_name>
[(<col_name> [comment <col_comment>], ...)]
[comment <view_comment>]
as <select_statement>;パラメーター
パラメーター | 必須 | 説明 |
or replace | 選択可能 | このパラメーターは、ビューを更新するときに必要です。 |
if not exists | 選択可能 |
|
view_name | 必須 | 作成または更新するビューの名前。 |
col_name | 必須 | 作成するビュー内の列の名前。 |
col_コメント | 選択可能 | 作成するビューの列のコメント。 |
view_comment | 選択可能 | 作成するビューのコメント。 |
select_statement | 必須 | ビューのデータソースを提供する |
ビューが作成または更新された後、参照テーブルが変更されると、ビューにアクセスできなくなる可能性があります。 例えば、参照されたテーブルは削除される。 参照テーブルとビュー間のマッピングを維持する必要があります。
例
例1: sale_detailテーブルに基づいてsale_detail_viewビューを作成します。
create view if not exists sale_detail_view (store_name, customer_id, price, sale_date, region) comment 'a view for table sale_detail' as select * from sale_detail;例2: sale_detailテーブルに基づいてsale_detail_viewビューを更新します。
create or replace view if not exists sale_detail_view (store_name, customer_id, price) comment 'a view for table sale_detail' as select shop_name, customer_id, total_price from sale_detail;
関连するコマンド
ALTER VIEW: 既存のビューの名前を変更するか、既存のビューの所有者を変更します。
DESC VIEW: 既存のビューの情報を表示します。
DROP VIEW: 既存のビューを削除します。