CREATE VIEW

Vytvoří virtuální tabulku, která nemá žádná fyzická data na základě sady výsledků dotazu SQL. ALTER VIEW a DROP VIEW mění pouze metadata.

Syntaxe

CREATE [ OR REPLACE ] [ [ GLOBAL ] TEMPORARY ] VIEW [ IF NOT EXISTS ] view_identifier
    create_view_clauses AS query

Parametry

  • NEBO NAHRADIT

    Pokud již existuje zobrazení se stejným názvem, bude nahrazeno.

  • GLOBÁLNÍ POŽADOVANÝCH

    Dočasná zobrazení jsou v rozsahu relace a jsou vyřazena v případě, že relace končí, protože přeskočí zachování definice v podkladovém metastore, pokud existuje. GLOBÁLNÍ dočasná zobrazení jsou vázaná na systém uchovávající dočasnou databázi global_temp .

  • POKUD NEEXISTUJE

    Vytvoří zobrazení, pokud neexistuje.

  • view_identifier

    Název zobrazení, volitelně kvalifikovaný s názvem databáze.

    Syntaxe:[database_name.] view_name

  • create_view_clauses

    Tyto klauzule jsou volitelné a nerozlišuje pořadí. Může mít následující formáty.

    • [ ( column_name [ COMMENT column_comment ], ... ) ] Chcete-li zadat komentáře na úrovni sloupce.
    • [ COMMENT view_comment ] zadání komentářů na úrovni zobrazení.
    • [ TBLPROPERTIES ( property_name = property_value [ , ... ] ) ] pro přidání párů klíč-hodnota metadat.
  • dotaz na Příkaz Select , který sestaví zobrazení ze základních tabulek nebo jiných zobrazení.

Příklady

-- Create or replace view for `experienced_employee` with comments.
CREATE OR REPLACE VIEW experienced_employee
    (ID COMMENT 'Unique identification number', Name)
    COMMENT 'View for experienced employees'
    AS SELECT id, name FROM all_employee
        WHERE working_years > 5;

-- Create a global temporary view `subscribed_movies` if it does not exist.
CREATE GLOBAL TEMPORARY VIEW IF NOT EXISTS subscribed_movies
    AS SELECT mo.member_id, mb.full_name, mo.movie_title
        FROM movies AS mo INNER JOIN members AS mb
        ON mo.member_id = mb.id;