Aracılığıyla paylaş


ROUTINES

Önemli

Bu özellik Genel Önizlemededir.

Şunlar için geçerlidir:onay işareti evet Databricks SQL onay işareti evet olarak işaretlendi Databricks Runtime 11.3 LTS ve üzeri onay işareti yalnızca Unity Kataloğu evet olarak işaretlendi

INFORMATION_SCHEMA.ROUTINES katalogdaki yordamları (işlevler) listeler.

Geri dönen satırlar, kullanıcının etkileşim kurma ayrıcalığına sahip olduğu rutinlerle sınırlıdır.

Tanım

ROUTINES ilişkisi aşağıdaki sütunları içerir:

İsim Veri türü Null Atanabilir Standart Açıklama
SPECIFIC_CATALOG STRING Hayır Evet Rutini içeren katalog.
SPECIFIC_SCHEMA STRING Hayır Evet Rutini içeren veritabanı (şema).
SPECIFIC_NAME STRING Hayır Evet Rutinin özgün (belirli) şema adı.
ROUTINE_CATALOG STRING Hayır Evet SPECIFIC_CATALOG ile eşleşir.
ROUTINE_SCHEMA STRING Hayır Evet SPECIFIC_SCHEMA ile eşleşir.
ROUTINE_NAME STRING Hayır Evet Rutinin adı.
ROUTINE_TYPE STRING Hayır Evet 'FUNCTION' veya 'PROCEDURE'.
DATA_TYPE STRING Evet Evet Tablo değerli bir işlev için 'TABLE' veya yordamlar için NULL olan sonuç veri türü adı.
FULL_DATA_TYPE STRING Evet Hayır Sonuç veri türü tanımı, örneğin 'DECIMAL(10, 4)', veya 'NULL' yordamlar için.
CHARACTER_MAXIMUM_LENGTH INTEGER Evet Evet Daima NULL olarak, gelecekte kullanım için ayrılmıştır.
CHARACTER_OCTET_LENGTH STRING Evet Evet Daima NULL olarak, gelecekte kullanım için ayrılmıştır.
NUMERIC_PRECISION INTEGER Evet Evet Temel 2 tamsayı sayısal türleri için , FLOATve DOUBLEdesteklenen bitlerin sayısı. "DECIMAL basamak sayısı için, aksi durumlarda NULL."
NUMERIC_PRECISION_RADIX INTEGER Evet Evet DECIMAL 10 için, diğer tüm sayısal türler için 2, NULL aksi takdirde.
NUMERIC_SCALE INTEGER Evet Evet Tam sayısal türler için 0, ondalık ayırıcının sağındaki basamak sayısı için DECIMAL, aksi takdirde NULL.
DATETIME_PRECISION INTEGER Evet Evet DATE 0, TIMESTAMP için ve INTERVAL için... SECOND 3, başka INTERVAL herhangi bir 0, NULL aksi takdirde.
INTERVAL_TYPE STRING Evet Evet Aralığın INTERVAL birim bölümü için, örneğin 'YEAR TO MONTH', aksi takdirde NULL.
INTERVAL_PRECISION INTERAL Evet Evet Daima NULL olarak, gelecekte kullanım için ayrılmıştır.
MAXIMUM_CARDINALITY INTEGER Evet Evet Daima NULL olarak, gelecekte kullanım için ayrılmıştır.
ROUTINE_BODY STRING Hayır Evet 'SQL' veya 'PYTHON'.
ROUTINE_DEFINITION STRING Evet Evet Rutinin tam tanımı. NULL kullanıcı sahibi değilse.
EXTERNAL_NAME STRING Evet Evet Daima NULL olarak, gelecekte kullanım için ayrılmıştır.
EXTERNAL_LANGUAGE STRING Evet Evet Daima NULL olarak, gelecekte kullanım için ayrılmıştır.
PARAMETER_STYLE STRING Evet Evet 'SQL', gelecekte kullanılmak üzere ayrılmıştır.
IS_DETERMINISTIC STRING Hayır Evet 'YES' rutin belirleyici olarak tanımlanmışsa, 'NO' aksi takdirde.
SQL_DATA_ACCESS STRING Hayır Evet 'MODIFIES SQL DATA' prosedürler için, 'READS SQL DATA' işlev bir ilişkiden okursa, 'CONTAINS SQL' aksi takdirde.
IS_NULL_CALL STRING Evet Evet Daima 'YES' olarak, gelecekte kullanım için ayrılmıştır.
SQL_PATH STRING Evet Evet Daima NULL olarak, gelecekte kullanım için ayrılmıştır.
SECURITY_TYPE STRING Hayır Evet 'DEFINER' rutin tanımlayıcının hakları altında yürütülürse, 'INVOKER' çağıranın yetkilendirmesi altında yürütülürse.
AS_LOCATOR STRING Hayır Evet Daima 'NO' olarak, gelecekte kullanım için ayrılmıştır.
COMMENT STRING Evet Hayır Rutin hakkında isteğe bağlı bir tanım.
CREATED TIMESTAMP Hayır Hayır Rutin oluşturulduğunda alınan zaman damgası.
CREATED_BY STRING Hayır Hayır Rutini oluşturan ana.
LAST_ALTERED TIMESTAMP Hayır Hayır Rutin tanımın herhangi bir şekilde en son değiştirildiği zaman damgası.
LAST_ALTERED_BY STRING Hayır Hayır Rutini en son değiştiren yetkili.

Sınırlamalar

İlişki için ROUTINES aşağıdaki kısıtlamalar geçerlidir:

Sınıf İsim Kolon Listesi Açıklama
Birincil anahtar ROUTINES_PK SPECIFIC_CATALOG, SPECIFIC_SCHEMA, SPECIFIC_NAME Rutin'i benzersiz olarak tanımlar.
Yabancı anahtar ROUTINES_SCHEMATA_FK SPECIFIC_CATALOG, SPECIFIC_SCHEMA Referanslar SCHEMATA

Örnekler

> SELECT routine_name, routine_definition
    FROM information_schema.routines
    WHERE specific_schema = 'default'
    ORDER BY routine_name;