Create View

CREATE [OR REPLACE] [[GLOBAL] TEMPORARY] VIEW [db_name.]view_name
  [(col_name1 [COMMENT col_comment1], ...)]
  [COMMENT table_comment]
  [TBLPROPERTIES (key1=val1, key2=val2, ...)]
    AS select_statement

Logikai nézetet definiálhat egy vagy több táblához vagy nézethez.

OR REPLACE

Ha a nézet nem létezik, CREATE OR REPLACE VIEW a egyenértékű a CREATE VIEW következővel: . Ha a nézet létezik, CREATE OR REPLACE VIEW a egyenértékű a ALTER VIEW következővel: .

[GLOBAL] TEMPORARY

TEMPORARY kihagyja a nézetdefiníció megőrzését a mögöttes metaadattárban, ha van ilyen. Ha meg van adva, a nézetet különböző munkamenetek érhetik el, és az alkalmazás végéig életben tarthatja őket. Ellenkező esetben az ideiglenes nézetek munkamenet-hatókörrel rendelkeznek, és a munkamenet befejezésekor a rendszer automatikusan GLOBAL eldobja a nézetet. Az összes globális ideiglenes nézet egy rendszer által megőrzött ideiglenes adatbázishoz van global_temp kötve. Az adatbázis neve megmarad, így a felhasználók nem hozhatják létre,használhatják/eldobhatnak adatbázisokat. A globális ideiglenes nézet eléréséhez a minősített nevet kell használnia.

Megjegyzés

A jegyzetfüzetben definiált ideiglenes nézet más jegyzetfüzetekben nem látható. Lásd: Notebookok elkülönítése.

(col_name1 [COMMENT col_comment1], ...)

A nézetsémát meghatározó oszloplista. Az oszlopneveknek egyedinek kell lennie a által lekért azonos számú select_statement oszloppal. Ha az oszloplista nincs megadva, a nézetséma a kimeneti select_statement sémája.

TBLPROPERTIES

Metaadat-kulcs-érték párok.

AS select_statement

A SELECT nézetet meghatározó utasítás. Az utasítás az alaptáblákból vagy a többi nézetből is választhat.

Fontos

Nem adhat meg adatforrás-, partíció- vagy fürtözési beállításokat, mivel a nézet nem táblaként van materializálva.

Példák

-- Create a persistent view view_deptDetails in database1. The view definition is recorded in the underlying metastore
CREATE VIEW database1.view_deptDetails
  AS SELECT * FROM company JOIN dept ON company.dept_id = dept.id;

-- Create or replace a local temporary view from a persistent view with an extra filter
CREATE OR REPLACE TEMPORARY VIEW temp_DeptSFO
  AS SELECT * FROM database1.view_deptDetails WHERE loc = 'SFO';

-- Access the base tables through the temporary view
SELECT * FROM temp_DeptSFO;

-- Create a global temp view to share the data through different sessions
CREATE GLOBAL TEMP VIEW global_DeptSJC
  AS SELECT * FROM database1.view_deptDetails WHERE loc = 'SJC';

-- Access the global temp views
SELECT * FROM global_temp.global_DeptSJC;

-- Drop the global temp view, temp view, and persistent view.
DROP VIEW global_temp.global_DeptSJC;
DROP VIEW temp_DeptSFO;
DROP VIEW database1.view_deptDetails;