Události
Staňte se certifikovaným Datoví technici fabric
14. 1. 23 - 31. 3. 23
Zkontrolujte, jestli máte nárok na nabídku slev na zkoušku, a zaregistrujte se na bezplatné živé relace a připravte se na zkoušku DP-700.
Další informaceTento prohlížeč se už nepodporuje.
Upgradujte na Microsoft Edge, abyste mohli využívat nejnovější funkce, aktualizace zabezpečení a technickou podporu.
Platí pro: Databricks SQL Databricks Runtime
Vytvoří virtuální tabulku, která nemá žádná fyzická data na základě sady výsledků dotazu SQL.
ALTER VIEW
a DROP VIEW
měnit pouze metadata.
CREATE [ OR REPLACE ] [ TEMPORARY ] VIEW [ IF NOT EXISTS ] view_name
[ column_list ]
[ schema_binding |
COMMENT view_comment |
TBLPROPERTIES clause [...]
AS query
schema_binding
WITH SCHEMA { BINDING | COMPENSATION | [ TYPE ] EVOLUTION }
column_list
( { column_alias [ COMMENT column_comment ] } [, ...] )
NEBO NAHRADIT
Pokud zobrazení stejného názvu již existuje, nahradí se. Pokud chcete nahradit existující zobrazení, musíte být jeho vlastníkem.
Nahrazení existujícího zobrazení nezachová oprávnění udělená v původním zobrazení. K zachování oprávnění použijte ALTER VIEW.
DOČASNÝ
DOČASNÁ zobrazení jsou viditelná pouze pro relaci, která je vytvořila, a po skončení relace se zahodí.
GLOBAL TEMPORARY
Platí pro: Databricks Runtime
Globální dočasná zobrazení jsou svázaná se zachováním dočasného schématu global_temp
systému .
POKUD NEEXISTUJE
Vytvoří zobrazení pouze v případě, že neexistuje. Pokud zobrazení podle tohoto názvu již existuje, CREATE VIEW
příkaz je ignorován.
Můžete zadat nejvýše jednu z nebo IF NOT EXISTS
OR REPLACE
.
Název nově vytvořeného zobrazení Název dočasného zobrazení nesmí být kvalifikovaný. Plně kvalifikovaný název zobrazení musí být jedinečný.
Zobrazení vytvořená v hive_metastore
můžou obsahovat pouze alfanumerické znaky a podtržítka (INVALID_SCHEMA_OR_RELATION_NAME).
schema_binding
Platí pro: Databricks Runtime 15.3 a vyšší
Volitelně určuje, jak se zobrazení přizpůsobí změnám schématu dotazu kvůli změnám v definicích podkladových objektů.
Tato klauzule není podporována pro dočasná zobrazení nebo materializovaná zobrazení.
S SCHEMA BINDING
Zobrazení bude neplatné, pokud se seznam sloupců dotazu změní s výjimkou následujících podmínek:
Toto je výchozí chování.
s SCHEMA kompenzací
Zobrazení bude neplatné, pokud se seznam sloupců dotazu změní s výjimkou následujících podmínek:
S SCHEMA TYPE EVOLUTION
Zobrazení přijme všechny změny typů v seznamu sloupců dotazu do vlastní definice, když kompilátor SQL zjistí takovou změnu v reakci na odkaz na zobrazení.
S SCHEMA EVOLUTION
WITH SCHEMA TYPE EVOLUTION
a také přijímá změny v názvech sloupců nebo přidané a vyřazené sloupce, pokud zobrazení neobsahuje explicitní column_list
.column_list
již neodpovídá počtu výrazů v seznamu výběru query
.column_list
Volitelně označí sloupce ve výsledku dotazu zobrazení. Pokud zadáte seznam sloupců, musí se počet aliasů sloupců shodovat s počtem výrazů v dotazu. V případě, že není zadaný žádný seznam sloupců, se odvozují z textu zobrazení.
Aliasy sloupců musí být jedinečné.
column_comment
Volitelný STRING
literál popisující alias sloupce.
view_comment
Volitelný STRING
literál poskytující komentáře na úrovni zobrazení.
Volitelně nastaví jednu nebo více uživatelem definovaných vlastností.
Dotaz, který sestaví zobrazení ze základních tabulek nebo jiných zobrazení.
-- 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 temporary view `subscribed_movies`.
> CREATE TEMPORARY VIEW 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;
-- Create a view with schema binding (default)
> CREATE TABLE emp(name STRING, income INT);
> CREATE VIEW emp_v WITH SCHEMA BINDING AS SELECT * FROM emp;
– The view ignores adding a column to the base table
> ALTER TABLE emp ADD COLUMN bonus SMALLINT;
> SELECT * FROM emp_v;
name income
---- ------
-- The view tolerates narrowing the underlying type
> CREATE OR REPLACE TABLE emp(name STRING, income SMALLINT, bonus SMALLINT);
> SELECT typeof(income) FROM emp_v;
INTEGER
– The view does not tolerate widening the underlying type
CREATE OR REPLACE TABLE emp(name STRING, income BIGINT, bonus SMALLINT);
> SELECT typeof(income) FROM emp_v;
Error
– Create a view with SCHEMA COMPENSATION
> CREATE TABLE emp(name STRING, income SMALLINT, bonus SMALLINT);
> CREATE VIEW emp_v WITH SCHEMA COMPENSATION AS SELECT * FROM emp;
-- The view tolerates widening the underlying type but keeps its own signature fixed
CREATE OR REPLACE TABLE emp(name STRING, income INTEGER, bonus INTEGER);
> SELECT typeof(income) FROM emp_v;
INTEGER
-- The view does not tolerate dropping a needed column
ALTER TABLE emp DROP COLUMN bonus;
> SELECT * FROM emp_v;
Error
– Create a view with SCHEMA EVOLUTION
> CREATE TABLE emp(name STRING, income SMALLINT);
> CREATE VIEW emp_v WITH SCHEMA EVOLUTION AS SELECT * FROM emp;
-- The view picks up additional columns
> ALTER TABLE emp ADD COLUMN bonus SMALLINT
> SELECT * FROM emp_v;
name income bonus
---- ------ -----
-- The view picks up renamed columns as well
> ALTER TABLE emp RENAME COLUMN income TO salary SMALLINT;
> SELECT * FROM emp_v;
name salary bonus
---- ------ -----
-- The view picks up changes to column types and dropped columns
> CREATE OR REPLACE TABLE emp(name STRING, salary BIGINT);
> SELECT *, typeof(salary)AS salary_type FROM emp_v;
name salary
---- ------
Události
Staňte se certifikovaným Datoví technici fabric
14. 1. 23 - 31. 3. 23
Zkontrolujte, jestli máte nárok na nabídku slev na zkoušku, a zaregistrujte se na bezplatné živé relace a připravte se na zkoušku DP-700.
Další informaceŠkolení
Modul
Vytváření tabulek, zobrazení a dočasných objektů - Training
Tento obsah je součástí vytváření tabulek, zobrazení a dočasných objektů.
Dokumentace
DROP VIEW – Azure Databricks - Databricks SQL
Naučte se používat DROP VIEW syntaxi jazyka SQL v Databricks SQL a Databricks Runtime.
UPDATE – Azure Databricks - Databricks SQL
Naučte se používat syntaxi UPDATE (tabulka) jazyka Sql Delta Lake v Databricks SQL a Databricks Runtime.
INSERT – Azure Databricks - Databricks SQL
Naučte se používat INSERT syntaxi jazyka SQL v Databricks SQL a Databricks Runtime.