Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Geçerlidir:
, Databricks SQL
, Databricks Runtime 19 ve üzeri
Yol, bir sorgu veya DML ifadesi katalog ve şema niyetleticisi olmadan bir tabloya, görünüme veya fonksiyona referans verdiğinde Azure Databricks'in aradığı şemaların sıralı listesidir. DDL ifadesinin current_catalog.current_schemaniteliksiz öznesi, bir yol araması değildir, yani CREATE TABLE t mevcut şemada oluşturulur t . Yolun DDL ifadelerindeki sorgulara ve kalıcı görünümlere nasıl uygulandığını bilmek için Tablo ve görünüm çözümüne bakınız. Rutin bedenler için bkz. Fonksiyon ve prosedür çözümlemesi.
Syntax
SET PATH = path_element [, ...]
path_element
{ DEFAULT_PATH |
SYSTEM_PATH |
CURRENT_SCHEMA |
PATH |
schema_name }
Parameters
DEFAULT_PATH
Yeni oturumların devraldığı çalışma alanı varsayılan olan PATH yapılandırma parametrine genişleyen bir anahtar kelime. Parametre geçersiz küçülmemişse, genişleme şudur.
system.session, system.builtin, system.ai, CURRENT_SCHEMASYSTEM_PATH
Sistem tarafından sağlanan şemalara genişleyen bir anahtar kelime:
system.builtin, system.ai.CURRENT_SCHEMA
Mevcut katalog ve mevcut şema (
current_catalog().current_schema()) için kullanım zamanı çözüm veren sanal şema referansıdır. Bu genişleme oturum sırasında ve USE SCHEMA oturum sırasında yapılan değişiklikleri USE CATALOG takip ediyor.YOL
Mevcut oturum yoluna genişleyen bir anahtar kelime. Yolu içeriğini yeniden değiştirmeden uzatmak için kullanın.
-
İki bölümden oluşan bir isim (
catalog.schema) gereklidir. İki bölümden fazla isimlere izin verilir. Tek parçalı bir isim INVALID_SQL_PATH_SCHEMA_REFERENCE oluşturur.Katalog ve şema, çalıştırdığınız
SET PATHanda var olmak zorunda değildir. İsim çözümü eksik girişleri atlar ve bir sonraki yol öğesi ile devam eder.
Description
Aşağıdaki kurallar, hangi yol öğelerinin SET PATH kabul edileceğini ve ortaya çıkan yolun isim çözümlemesini nasıl etkilediğini belirler.
- Tekrarlar: Çoğaltılmış yol öğelerine izin verilmez. Anahtar kelime genişletildikten sonra, tekrarlar DUPLICATE_SQL_PATH_ENTRY artırır.
-
Sistem şemaları:
system.builtinvesystem.aiyerleşik skalar, tablo ve yapay zeka fonksiyonlarını içerir.system.sessiongeçici değişkenler, geçici fonksiyonlar ve geçici görünümler gibi oturum kapsamlı nesneleri tutar. Yoldan ayrılmaksystem.builtingenellikle tavsiye edilmez. -
Atılmış şemalar: Niteliksiz isimler yalnızca yol üzerindeki şemalara karşı çözüm bulur. Eğer atlarsanız
CURRENT_SCHEMA, mevcut şemada kalıcı nesneleri nitelendirmek gerekir. Eğer veyasystem.ai, bu fonksiyonları atlarsanızsystem.builtin, örneğinsystem.builtin.abs. Eğer atlarsanızsystem.session, niteliksiz geçici görünümler, geçici fonksiyonlar ve oturum değişkenleri bulunmaz. -
Görünümler ve rutinler: Kalıcı görünümler, SQL kullanıcı tanımlı fonksiyonlar ve
SQL SECURITY DEFINERprosedürler, yolu yakalarCREATEve kendi bedenlerindeki niteliksiz isimleri çağrılanın oturum yoluna değil, o ele alınan yola karşı çözer. BirSQL SECURITY DEFINERprosedür ele geçirilen yoldan çıkarılıyorsystem.session. BirSQL SECURITY INVOKERprosedür, arayan kişinin canlı yolunu kullanır. Bkz. Ele Çekilen Yol. -
Yolu incelemek:
SET PATH;yolu yazdırmaz. current_path kullanın.
Examples
Aşağıdaki ifadeleri sırayla çalıştırın, çünkü sonraki ifadeler önceki ifadelerin belirlediği yol üzerine inşa edilir.
-- 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
Aşağıdaki ifadeler başarısız olur ve yolu değiştirmez.
-- 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]