Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na:
Databricks SQL
Databricks Runtime 19 a výše
Cesta je uspořádaný seznam schémat, které Azure Databricks vyhledává, když dotaz nebo DML příkaz odkazuje na tabulku, pohled nebo funkci bez katalogu a kvalifikátoru schématu. Neomezeným subjektem DDL příkazu current_catalog.current_schemaje , není to vyhledávání cesty, takže CREATE TABLE t vytváří t v aktuálním schématu. Pro to, jak se cesta vztahuje na dotazy v DDL příkazech a na perzistentní pohledy, viz Tabulka a rozlišení zobrazení. Pro rutinní tělesa viz Funkce a procedurální řešení.
Syntax
SET PATH = path_element [, ...]
path_element
{ DEFAULT_PATH |
SYSTEM_PATH |
CURRENT_SCHEMA |
PATH |
schema_name }
Parameters
DEFAULT_PATH
Klíčové slovo, které se rozšiřuje na konfigurační parametr PATH , což je výchozí pracovní prostor, který nové relace dědí. Pokud parametr nebyl přepsán, rozšíření je .
system.session, system.builtin, system.ai, CURRENT_SCHEMASYSTEM_PATH
Klíčové slovo, které se rozšiřuje na schémata poskytovaná systémem:
system.builtin, system.ai.CURRENT_SCHEMA
Virtuální reference schématu, která se v čase používání vyřeší na aktuální katalog a aktuální schéma (
current_catalog().current_schema()). Rozšíření navazuje na změny provedené během USE CATALOGUSE SCHEMA a během sezení.CESTA
Klíčové slovo, které se rozšiřuje na aktuální cestu relace. Použijte ho k prodloužení cesty, aniž byste znovu vyslovovali její obsah.
-
Je vyžadován dvoudílný název (
catalog.schema). Jména s více než dvěma částmi jsou povolena. Jednočlenné jméno vyvolává INVALID_SQL_PATH_SCHEMA_REFERENCE.Katalog a schéma nemusí existovat v době, kdy spusťujete
SET PATH. Rozlišení jmen přeskočí chybějící položky a pokračuje dalším prvkem cesty.
Description
Následující pravidla určují, které prvky SET PATH cesty přijímají a jak výsledná cesta ovlivňuje rozlišení jmen.
- Duplicity: Duplikátní prvky cesty nejsou povoleny. Po rozšíření klíčových slov se duplikáty zvyšují DUPLICATE_SQL_PATH_ENTRY.
-
Schémata systému:
system.builtinasystem.aiobsahují vestavěné skalární, tabulkové a AI funkce.system.sessionUchovává objekty zaměřené na relaci, jako jsou dočasné proměnné, dočasné funkce a dočasné pohledy. Vynechatsystem.builtinse mimo trasu se obecně nedoporučuje. -
Vynechané schémata: Neomezená jména řeší pouze schémata na cestě. Pokud vynecháte
CURRENT_SCHEMA, kvalifikujte trvalé objekty v aktuálním schématu. Pokud vynechátesystem.builtinnebosystem.ai, kvalifikujete tyto funkce, napříkladsystem.builtin.abs. Pokud vynechátesystem.session, neomezené dočasné pohledy, dočasné funkce a relační proměnné se nenajdou. -
Pohledy a rutiny: Perzistentní pohledy, SQL uživatelem definované funkce a
SQL SECURITY DEFINERprocedury zachytávají cestu v aCREATEřeší neomezená jména ve svých tělech proti této zachycené cestě, nikoli podle relační cesty vyvolávače. Postup vynecháváSQL SECURITY DEFINERsystem.sessionzachycenou cestu. ProceduraSQL SECURITY INVOKERvyužívá živou cestu volajícího. Viz Zajatá cesta. -
Kontrola cesty:
SET PATH;nevytiskne cestu. Použijte current_path.
Examples
Spusť následující příkazy v pořadí, protože pozdější věty navazují na cestu, kterou nastavily ty předchozí.
-- Restore the workspace default.
> SET PATH = DEFAULT_PATH;
> SELECT current_path();
system.session,system.builtin,system.ai,main.default
-- Restrict the PATH to only the system-provided schemas.
> SET PATH = SYSTEM_PATH;
> SELECT current_path();
system.builtin,system.ai
-- Append a schema to the existing PATH without restating it.
> SET PATH = PATH, libraries.pgsql;
> SELECT current_path();
system.builtin,system.ai,libraries.pgsql
-- Put the current schema ahead of the system schemas so that user-defined
-- functions shadow built-in functions of the same name.
> SET PATH = CURRENT_SCHEMA, PATH;
> SELECT current_path();
main.default,system.builtin,system.ai,libraries.pgsql
Následující tvrzení selhávají a nemění cestu.
-- A single-part schema name is rejected.
> SET PATH = my_schema;
[INVALID_SQL_PATH_SCHEMA_REFERENCE]
-- A duplicate path element raises an error after expansion.
> SET PATH = SYSTEM_PATH, system.builtin;
[DUPLICATE_SQL_PATH_ENTRY]