Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :
Databricks SQL
Runtime 19 et supérieur
Le chemin est la liste ordonnée des schémas que Azure Databricks recherche lorsqu’une requête ou une instruction DML fait référence à une table, une vue ou une fonction sans catalog ni qualificateur de schéma. Le sujet non qualifié d’une instruction DDL est current_catalog.current_schema, et non une recherche de chemin, donc CREATE TABLE t se crée t dans le schéma courant. Pour savoir comment le chemin s’applique aux requêtes dans les instructions DDL et aux vues persistantes, voir Résolution de table et de vue. Pour les organismes de routine, voir Résolution de la fonction et des procédures.
Syntax
SET PATH = path_element [, ...]
path_element
{ DEFAULT_PATH |
SYSTEM_PATH |
CURRENT_SCHEMA |
PATH |
schema_name }
Parameters
DEFAULT_PATH
Un mot-clé qui s’étend au paramètre de configuration PATH , qui est le paramètre par défaut de l’espace de travail que les nouvelles sessions héritent. Si le paramètre n’a pas été dépassé, le développement est
system.session, system.builtin, system.ai, CURRENT_SCHEMA.SYSTEM_PATH
Un mot-clé qui s’étend aux schémas fournis par le système :
system.builtin, system.ai.CURRENT_SCHEMA
Une référence de schéma virtuel qui se résout au moment de l’utilisation vers le catalogue et le schéma actuels (
current_catalog().current_schema()). L’extension fait suite aux changements apportés pendant USE CATALOGUSE SCHEMA et pendant la session.PATH
Un mot-clé qui s’étend au chemin de session actuel. Utilisez-le pour prolonger le chemin sans en remettre le contenu.
-
Un nom en deux parties (
catalog.schema) est requis. Les noms comportant plus de deux parties sont autorisés. Un nom en une seule partie soulève INVALID_SQL_PATH_SCHEMA_REFERENCE.Le catalogue et le schéma n’ont pas besoin d’exister au moment de l’exécution
SET PATH. La résolution du nom saute les entrées manquantes et continue avec l’élément suivant du chemin.
Description
Les règles suivantes régissent quels éléments SET PATH de chemin acceptent et comment le chemin résultant affecte la résolution des noms.
- Doublons : Les éléments de chemin dupliqués ne sont pas autorisés. Après l’expansion des mots-clés, les doublons génèrent DUPLICATE_SQL_PATH_ENTRY.
-
Schémas système :
system.builtinetsystem.aicontiennent des fonctions intégrées au scalaire, à la table et à l’IA.system.sessioncontient des objets à portée de session tels que des variables temporaires, des fonctions temporaires et des vues temporaires. En général, il n’est pas conseillé de quittersystem.builtinle sentier. -
Schémas omés : Les noms non qualifiés ne résolvent que les schémas sur le chemin. Si vous omettez
CURRENT_SCHEMA, qualifiez les objets persistants dans le schéma actuel. Si vous omettezsystem.builtinousystem.ai, qualifiez ces fonctions, parsystem.builtin.absexemple . Si vous omettezsystem.session, les vues temporaires non qualifiées, les fonctions temporaires et les variables de session ne sont pas trouvées. -
Vues et routines : Les vues persistantes, les fonctions SQL définies par l’utilisateur et
SQL SECURITY DEFINERles procédures capturent le chemin etCREATErésolvent les noms non qualifiés dans leur corps par rapport à ce chemin capturé, et non par rapport au chemin de session de l’invocateur. UneSQL SECURITY DEFINERprocédure ometsystem.sessionle chemin capturé. UneSQL SECURITY INVOKERprocédure utilise le chemin en direct de l’appelant. Voir Chemin capturé. -
Inspecter le chemin :
SET PATH;ne l’imprime pas. Utilisez current_path.
Examples
Exécutez les instructions suivantes dans l’ordre, car les instructions ultérieures s’appuient sur le chemin que les précédentes ont établi.
-- 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
Les instructions suivantes échouent et ne modifient pas le chemin.
-- 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]