重要
這項功能處於公開預覽狀態。
適用於:
Databricks SQL
Databricks Runtime 11.3 LTS 和更新版本
僅限 Unity 目錄
INFORMATION_SCHEMA。ROUTINES 列出目錄內的例程(函式)。
傳回的數據列僅限於使用者有權與其互動的例程。
定義
ROUTINES 關聯包含下列資料行:
| 名稱 | 資料類型 | 可為空 | 標準 | 描述 |
|---|---|---|---|---|
SPECIFIC_CATALOG |
STRING |
不 | 是的 | 包含例程的目錄。 |
SPECIFIC_SCHEMA |
STRING |
不 | 是的 | 包含例程的資料庫(架構)。 |
SPECIFIC_NAME |
STRING |
不 | 是的 | 例程的架構唯一(特定)名稱。 |
ROUTINE_CATALOG |
STRING |
不 | 是的 | 比對 SPECIFIC_CATALOG。 |
ROUTINE_SCHEMA |
STRING |
不 | 是的 | 比對 SPECIFIC_SCHEMA。 |
ROUTINE_NAME |
STRING |
不 | 是的 | 例程的名稱。 |
ROUTINE_TYPE |
STRING |
不 | 是的 |
'FUNCTION' 或 'PROCEDURE'。 |
DATA_TYPE |
STRING |
是的 | 是的 | 針對表值函式的結果數據類型名稱'TABLE',或針對程序的結果數據類型名稱NULL。 |
FULL_DATA_TYPE |
STRING |
是的 | 不 | 結果資料類型定義,例如 'DECIMAL(10, 4)',或用於程序的 'NULL'。 |
CHARACTER_MAXIMUM_LENGTH |
INTEGER |
是的 | 是的 | 一律為 NULL,保留供未來使用。 |
CHARACTER_OCTET_LENGTH |
STRING |
是的 | 是的 | 一律為 NULL,保留供未來使用。 |
NUMERIC_PRECISION |
INTEGER |
是的 | 是的 | 對於二進位整數數值類型 FLOAT 和 DOUBLE,其支援的位元數。 若 DECIMAL 為數字數,則為 , NULL 否則為 。 |
NUMERIC_PRECISION_RADIX |
INTEGER |
是的 | 是的 | 若為 DECIMAL 10,則所有其他數值類型為 2,NULL 否則為其他值。 |
NUMERIC_SCALE |
INTEGER |
是的 | 是的 | 若為整數數值類型 0,則為 DECIMAL 小數點右邊的數位數, NULL 否則為 。 |
DATETIME_PRECISION |
INTEGER |
是的 | 是的 | 針對 DATE0, TIMESTAMP和 INTERVAL…
SECOND 3、任何其他 INTERVAL 0, NULL 否則為 。 |
INTERVAL_TYPE |
STRING |
是的 | 是的 | 若為INTERVAL間隔的單位部分,例如'YEAR TO MONTH',否則為NULL。 |
INTERVAL_PRECISION |
INTERAL |
是的 | 是的 | 一律為 NULL,保留供未來使用。 |
MAXIMUM_CARDINALITY |
INTEGER |
是的 | 是的 | 一律為 NULL,保留供未來使用。 |
ROUTINE_BODY |
STRING |
不 | 是的 |
'SQL' 或 'PYTHON'。 |
ROUTINE_DEFINITION |
STRING |
是的 | 是的 | 例程的完整定義。
NULL 如果使用者不是擁有者,那麼。 |
EXTERNAL_NAME |
STRING |
是的 | 是的 | 一律為 NULL,保留供未來使用。 |
EXTERNAL_LANGUAGE |
STRING |
是的 | 是的 | 一律為 NULL,保留供未來使用。 |
PARAMETER_STYLE |
STRING |
是的 | 是的 |
'SQL',保留供日後使用。 |
IS_DETERMINISTIC |
STRING |
不 | 是的 |
'YES' 如果例程定義為決定性,則為 , 'NO' 否則為 。 |
SQL_DATA_ACCESS |
STRING |
不 | 是的 |
'MODIFIES SQL DATA' 如果是程式, 'READS SQL DATA' 如果函式從關聯讀取,則為 , 'CONTAINS SQL' 否則為 。 |
IS_NULL_CALL |
STRING |
是的 | 是的 | 一律為 'YES',保留供未來使用。 |
SQL_PATH |
STRING |
是的 | 是的 | 一律為 NULL,保留供未來使用。 |
SECURITY_TYPE |
STRING |
不 | 是的 |
'DEFINER' 如果例程在定義者的許可權下執行,則為 , 'INVOKER' 如果是在叫用者的授權下執行。 |
AS_LOCATOR |
STRING |
不 | 是的 | 一律為 'NO',保留供未來使用。 |
COMMENT |
STRING |
是的 | 不 | 描述例程的選擇性批注。 |
CREATED |
TIMESTAMP |
不 | 不 | 建立例程時的時間戳。 |
CREATED_BY |
STRING |
不 | 不 | 建立例程的主體 。 |
LAST_ALTERED |
TIMESTAMP |
不 | 不 | 上次以任何方式改變例程定義的時間戳。 |
LAST_ALTERED_BY |
STRING |
不 | 不 | 上次改變例程的主體 。 |
限制
以下限制式適用於 ROUTINES 關聯:
| 類別 | 名稱 | 資料欄清單 | 描述 |
|---|---|---|---|
| 主要金鑰 | ROUTINES_PK |
SPECIFIC_CATALOG、SPECIFIC_SCHEMA、SPECIFIC_NAME |
唯一識別例程。 |
| 外來鍵 | ROUTINES_SCHEMATA_FK |
SPECIFIC_CATALOG、SPECIFIC_SCHEMA |
參考 SCHEMATA |
範例
> SELECT routine_name, routine_definition
FROM information_schema.routines
WHERE specific_schema = 'default'
ORDER BY routine_name;