Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks SQL
Databricks Runtime 19 en hoger
Het pad is de geordende lijst van schema's die Azure Databricks doorzoekt wanneer een query of DML-instructie verwijst naar een tabel, view of functie zonder catalogus en schema-kwalificatie. Het niet-gekwalificeerde subject van een DDL-instructie is current_catalog.current_schema, geen padzoekopdracht, dus CREATE TABLE t creëert t in het huidige schema. Voor hoe het pad toepasbaar is op queries in DDL-statements en op persistente views, zie Table and view resolution. Voor routinematige lichamen, zie Functie en procedure-resolutie.
Syntax
SET PATH = path_element [, ...]
path_element
{ DEFAULT_PATH |
SYSTEM_PATH |
CURRENT_SCHEMA |
PATH |
schema_name }
Parameters
DEFAULT_PATH
Een trefwoord dat uitbreidt naar de PATH-configuratieparameter , de werkruimtestandaard die nieuwe sessies erven. Als de parameter niet is overschreven, is
system.session, system.builtin, system.ai, CURRENT_SCHEMAde expansie .SYSTEM_PATH
Een trefwoord dat zich uitbreidt naar de door het systeem geleverde schema's:
system.builtin, system.ai.CURRENT_SCHEMA
Een virtuele schemareferentie die tijdens gebruik wordt opgelost naar de huidige catalogus en het huidige schema (
current_catalog().current_schema()). De uitbreiding volgt op wijzigingen die tijdens USE CATALOGUSE SCHEMA de sessie zijn doorgevoerd.PAD
Een trefwoord dat uitbreidt naar het huidige sessiepad. Gebruik het om het pad te verlengen zonder de inhoud opnieuw te gebruiken.
-
Een tweedelige naam (
catalog.schema) is vereist. Namen met meer dan twee delen zijn toegestaan. Een naam in één partij roept INVALID_SQL_PATH_SCHEMA_REFERENCE op.De catalogus en het schema hoeven niet te bestaan op het moment dat je het uitvoert
SET PATH. Naamresolutie slaat ontbrekende vermeldingen over en gaat verder met het volgende padelement.
Description
De volgende regels bepalen welke padelementen SET PATH accepteren en hoe het resulterende pad de naamresolutie beïnvloedt.
- Duplicaten: Duplicaatpad-elementen zijn niet toegestaan. Na trefwoorduitbreiding stijgen duplicaten DUPLICATE_SQL_PATH_ENTRY.
-
Systeemschema's:
system.builtinensystem.aibevatten ingebouwde scalaire, tabel- en AI-functies.system.sessionbevat sessie-scoped objecten zoals tijdelijke variabelen, tijdelijke functies en tijdelijke weergaven. Het is over het algemeen niet aan te raden om het pad te latensystem.builtin. -
Uitgelaten schema's: Niet-gekwalificeerde namen lossen alleen op tegen schema's op het pad. Als je
CURRENT_SCHEMA, kwalificeert persistent objecten in het huidige schema. Als je die functies weglaatsystem.builtinofsystem.ai, kwalificeert, bijvoorbeeldsystem.builtin.abs. Als je weglaatsystem.session, worden niet-gekwalificeerde tijdelijke weergaven, tijdelijke functies en sessievariabelen niet gevonden. -
Views en routines: Persistente views, door SQL door gebruikers gedefinieerde functies en
SQL SECURITY DEFINERprocedures leggen het pad opCREATEen lossen ongekwalifiseerde namen in hun bodies op tegen dat vastgelegde pad, niet tegen het sessiepad van de invoker. EenSQL SECURITY DEFINERprocedure wordtsystem.sessionweggelaten op het gevangen pad. EenSQL SECURITY INVOKERprocedure gebruikt het live pad van de beller. Zie Gevangen pad. -
Het pad inspecteren:
SET PATH;print het pad niet af. Gebruik current_path.
Examples
Voer de volgende statements in volgorde uit, omdat latere statements voortbouwen op het pad dat eerdere statements hebben gezet.
-- 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
De volgende statements falen en veranderen het pad niet.
-- 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]