Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Aplica a:
Databricks SQL
Runtime 19 y superiores
El path es la lista ordenada de esquemas que Azure Databricks busca cuando una consulta o una instrucción DML hace referencia a una tabla, vista o función sin un catalogo ni un calificador de esquema. El sujeto no calificado de una instrucción DDL es current_catalog.current_schema, no una búsqueda de camino, por lo que CREATE TABLE t se crea t en el esquema actual. Para saber cómo se aplica la ruta a consultas en sentencias DDL y a vistas persistentes, véase Resolución de Tabla y vista. Para organismos rutinarios, véase Resolución de función y procedimiento.
Syntax
SET PATH = path_element [, ...]
path_element
{ DEFAULT_PATH |
SYSTEM_PATH |
CURRENT_SCHEMA |
PATH |
schema_name }
Parameters
DEFAULT_PATH
Una palabra clave que se expande al parámetro de configuración PATH , que es el espacio de trabajo predeterminado que heredan las nuevas sesiones. Si el parámetro no ha sido anulado, la expansión es
system.session, system.builtin, system.ai, CURRENT_SCHEMA.SYSTEM_PATH
Una palabra clave que se amplía a los esquemas proporcionados por el sistema:
system.builtin, system.ai.CURRENT_SCHEMA
Una referencia virtual de esquema que se resuelve en el momento de uso al catálogo actual y al esquema actual (
current_catalog().current_schema()). La expansión sigue los cambios realizados durante USE CATALOGUSE SCHEMA y durante la sesión.PATH
Una palabra clave que se extiende a la ruta actual de la sesión. Úsalo para extender el camino sin repetir su contenido.
-
Se requiere un nombre de dos partes (
catalog.schema). Se permiten nombres con más de dos partes. Un nombre de una sola parte levanta INVALID_SQL_PATH_SCHEMA_REFERENCE.El catálogo y el esquema no necesitan existir en el momento en que ejecutas
SET PATH. La resolución de nombres omite entradas faltantes y continúa con el siguiente elemento de camino.
Description
Las siguientes reglas rigen qué elementos SET PATH de camino aceptan y cómo el camino resultante afecta a la resolución de nombres.
- Duplicados: No se permiten elementos de ruta duplicados. Tras la expansión de palabras clave, los duplicados aumentan DUPLICATE_SQL_PATH_ENTRY.
-
Esquemas del sistema:
system.builtinysystem.aimantienen funciones de escalar, tabla e IA integradas.system.sessioncontiene objetos con alcance de sesión como variables temporales, funciones temporales y vistas temporales. Generalmente no se recomienda dejarsystem.builtinel camino. -
Esquemas omitidos: Los nombres no calificados resuelven solo contra los esquemas en el camino. Si omites
CURRENT_SCHEMA, califica objetos persistentes en el esquema actual. Si omitessystem.builtinosystem.ai, calificas esas funciones, por ejemplosystem.builtin.abs. Si omitessystem.session, no se encuentran vistas temporales no calificadas, funciones temporales y variables de sesión. -
Vistas y rutinas: Las vistas persistentes, funciones definidas por el usuario en SQL y
SQL SECURITY DEFINERprocedimientos capturan la ruta enCREATEy resuelven nombres no calificados en sus cuerpos contra esa ruta capturada, no contra la ruta de sesión del invocador. UnSQL SECURITY DEFINERprocedimiento omitesystem.sessionel camino capturado. UnSQL SECURITY INVOKERprocedimiento utiliza la ruta en directo del llamante. Ver Ruta capturada. -
Inspeccionar el camino:
SET PATH;no imprime el camino. Usa current_path.
Examples
Ejecuta las siguientes sentencias en orden, porque las sentencias posteriores se basan en el camino que las anteriores establecen.
-- 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
Las siguientes afirmaciones fallan y no cambian el camino.
-- 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]