CREATE VIEW

Skapar en virtuell tabell som inte har några fysiska data baserat på resultatuppsättningen för en SQL fråga. ALTER VIEW och DROP VIEW ändrar endast metadata.

Syntax

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

Parametrar

  • ELLER ERSÄTT

    Om det redan finns en vy med samma namn ersätts den.

  • [ GLOBAL ] TILLFÄLLIGA

    TILLFÄLLIGA vyer är sessionsomfångsbaserade och tas bort när sessionen avslutas eftersom den hoppar över att bevara definitionen i det underliggande metaarkivet, om det finns några. GLOBALA TILLFÄLLIGA vyer är knutna till en systembevarad temporär databas global_temp .

  • OM DET INTE FINNS

    Skapar en vy om den inte finns.

  • view_identifier

    Ett visningsnamn, valfritt kvalificerat med ett databasnamn.

    Syntax:

  • create_view_clauses

    Dessa satser är valfria och okänsliga i ordning. Det kan ha följande format.

    • [ ( column_name [ COMMENT column_comment ], ... ) ] för att ange kommentarer på kolumnnivå.
    • [ COMMENT view_comment ] för att ange kommentarer på visningsnivå.
    • [ TBLPROPERTIES ( property_name = property_value [ , ... ] ) ] för att lägga till nyckel/värde-par för metadata.
  • Fråga En SELECT-instruktion som skapar vyn från bastabeller eller andra vyer.

Exempel

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