Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:
Databricks SQL
Runtime 19 e acima
O caminho é a lista ordenada de esquemas que o Azure Databricks pesquisa quando uma consulta ou instrução DML faz referência a uma tabela, visualização ou função sem um qualificador de catálogo e esquema. O sujeito não qualificado de uma instrução DDL é current_catalog.current_schema, não uma busca de caminho, então CREATE TABLE t cria t no esquema atual. Para saber como o caminho se aplica a consultas em instruções DDL e a visualizações persistentes, veja Tabela e resolução de visualização. Para órgãos rotineiros, veja Resolução de funções e procedimentos.
Syntax
SET PATH = path_element [, ...]
path_element
{ DEFAULT_PATH |
SYSTEM_PATH |
CURRENT_SCHEMA |
PATH |
schema_name }
Parameters
DEFAULT_PATH
Uma palavra-chave que se expande para o parâmetro de configuração PATH , que é o padrão do workspace que as novas sessões herdam. Se o parâmetro não foi sobrescrito, a expansão é
system.session, system.builtin, system.ai, CURRENT_SCHEMA.SYSTEM_PATH
Uma palavra-chave que se expande para os esquemas fornecidos pelo sistema:
system.builtin, system.ai.CURRENT_SCHEMA
Uma referência virtual de esquema que se resolve no momento de uso para o catálogo atual e o esquema atual (
current_catalog().current_schema()). A expansão segue as mudanças feitas durante USE CATALOGUSE SCHEMA e durante a sessão do evento.PATH
Uma palavra-chave que se expande para o caminho da sessão atual. Use para estender o caminho sem repetir seu conteúdo.
-
É necessário um nome em duas partes (
catalog.schema). Nomes com mais de duas partes são permitidos. Um nome de uma única parte levanta INVALID_SQL_PATH_SCHEMA_REFERENCE.O catálogo e o esquema não precisam existir no momento em que você executa
SET PATH. A resolução de nomes pula entradas faltantes e continua com o próximo elemento do caminho.
Description
As seguintes regras governam quais elementos SET PATH de caminho aceitam e como o caminho resultante afeta a resolução de nomes.
- Duplicados: Elementos de caminho duplicados não são permitidos. Após a expansão das palavras-chave, duplicados aumentam DUPLICATE_SQL_PATH_ENTRY.
-
Esquemas do sistema:
system.builtinesystem.aiarmazenam funções de escala, tabela e IA integradas.system.sessioncontém objetos com escopo de sessão, como variáveis temporárias, funções temporárias e vistas temporárias. Sairsystem.builtindo caminho geralmente não é recomendado. -
Esquemas omitidos: Nomes não qualificados resolvem apenas contra esquemas no caminho. Se você omitir
CURRENT_SCHEMA, qualifica objetos persistentes no esquema atual. Se você omitirsystem.builtinousystem.ai, qualificar essas funções, porsystem.builtin.absexemplo . Se você omitir,system.sessionvistas temporárias não qualificadas, funções temporárias e variáveis de sessão não são encontradas. -
Visualizações e rotinas: Visualizações persistentes, funções SQL definidas pelo usuário e
SQL SECURITY DEFINERprocedimentos capturam o caminho emCREATEe resolvem nomes não qualificados em seus corpos contra esse caminho capturado, não contra o caminho da sessão do invocador. UmSQL SECURITY DEFINERprocedimento omitesystem.sessiono caminho capturado. UmSQL SECURITY INVOKERprocedimento usa o caminho ao vivo do chamador. Veja Caminho capturado. -
Inspecionar o caminho:
SET PATH;não imprime o caminho. Use current_path.
Examples
Execute as seguintes instruções em ordem, pois as instruções posteriores se baseiam no caminho que as anteriores estabelecem.
-- 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
As seguintes instruções falham e não alteram o caminho.
-- 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]