Megosztás a következőn keresztül:


CREATE VIEW (csővezetékek)

Fizikai adatok nélküli virtuális táblát hoz létre egy folyamat SQL-lekérdezésének eredményhalmaza alapján.

Szemantika

Az alábbiakban a nézetek SQL-sel való deklarálásának szintaxisát ismerteti:

CREATE VIEW view_name
  [ COMMENT view_comment ]
  [ TBLPROPERTIES ]
  AS query

Paraméterek

  • nézet_név

    A nézet neve. A névnek egyedinek kell lennie a katalógusban és a folyamat által megcélzott sémában.

  • view_comment

    A nézet opcionális leírása.

  • TBLPROPERTIES

    A tábla táblatulajdonságainak választható listája.

  • query

    Olyan lekérdezés, amely alaptáblákból vagy más nézetekből hozza létre a nézetet.

Szükséges engedélyek

A folyamat futtató felhasználójának a következő engedélyekkel kell rendelkeznie a nézet létrehozásához:

  • SELECT jogosultsággal rendelkezik a nézet által hivatkozott alaptáblákon.
  • USE CATALOG jogosultsággal a szülőkatalóguson, valamint USE SCHEMA jogosultsággal a szülősémán.
  • CREATE TABLE jogosultság a nézet sémájára.

Ahhoz, hogy egy felhasználó frissíthesse a nézetet a folyamaton belül, a következő engedélyekkel kell rendelkeznie:

  • USE CATALOG jogosultsággal a szülőkatalóguson, valamint USE SCHEMA jogosultsággal a szülősémán.
  • MANAGE engedély a nézethez.
  • A nézet által hivatkozott alaptáblákra vonatkozó SELECT jogosultságok.

Ahhoz, hogy egy felhasználó le tudja kérdezni az eredményként kapott nézetet, a következő engedélyekkel kell rendelkeznie:

  • USE CATALOG jogosultsággal a szülőkatalóguson, valamint USE SCHEMA jogosultsággal a szülősémán.
  • SELECT jogosultság a nézethez.

Korlátozások

  • CREATE VIEW csak az alapértelmezett közzétételi módot támogató folyamatokban érhető el. A LIVE sémát (régi) használó folyamatláncok nem támogatottak. További információt a LIVE séma (örökölt) című témakörben talál.
  • A folyamatnak Unity Catalog-folyamatnak kell lennie.
  • Az CONSTRAINT záradékok formájában lévő elvárások nem támogatottak.
  • A nézetek nem rendelkeznek streamlekérdezésekkel, és nem használhatók streamforrásként.

Példák

-- Create a view from an external data source
CREATE VIEW taxi_raw AS SELECT *
  FROM read_files("/databricks-datasets/nyctaxi/sample/json/");

-- Use a view to create a filtered view:
CREATE VIEW taxi_silver AS SELECT *
  FROM taxi_raw
  WHERE distance > 0.0;