ROUTINES (Transact-SQL)
適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric 的 SQL 端點分析 Microsoft Fabric 的倉儲
針對目前資料庫中目前用戶可存取的每個預存程式和函式,各傳回一個數據列。 描述傳回值的數據行僅適用於函式。 針對預存程式,這些數據行會是 NULL。
若要從這些檢視擷取資訊,請指定INFORMATION_SCHEMA的完整名稱。view_name。
注意
ROUTINE_DEFINITION數據行包含建立函式或預存程式的來源語句。 這些來源語句可能會包含內嵌歸位字元。 如果您要將此資料行傳回給以文字格式顯示結果的應用程式,則ROUTINE_DEFINITION結果中的內嵌歸位字元可能會影響整體結果集的格式設定。 如果您選取ROUTINE_DEFINITION欄,則必須調整內嵌歸位字元;例如,將結果集傳回方格,或將ROUTINE_DEFINITION傳回至自己的文字框。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
SPECIFIC_CATALOG | nvarchar(128) | 目錄的特定名稱。 此名稱與ROUTINE_CATALOG相同。 |
SPECIFIC_SCHEMA | nvarchar(128) | 結構描述的特定名稱。 ** 重要 ** 請勿使用INFORMATION_SCHEMA檢視來判斷對象的架構。 INFORMATION_SCHEMA檢視只代表 物件的元數據子集。 尋找物件架構的唯一可靠方法是查詢 sys.objects 目錄檢視。 |
SPECIFIC_NAME | nvarchar(128) | 目錄的特定名稱。 此名稱與ROUTINE_NAME相同。 |
ROUTINE_CATALOG | nvarchar(128) | 函式的目錄名稱。 |
ROUTINE_SCHEMA | nvarchar(128) | 包含此函式的架構名稱。 ** 重要 ** 請勿使用INFORMATION_SCHEMA檢視來判斷對象的架構。 INFORMATION_SCHEMA檢視只代表 物件的元數據子集。 尋找物件架構的唯一可靠方法是查詢 sys.objects 目錄檢視。 |
ROUTINE_NAME | nvarchar(128) | 函式的名稱。 |
ROUTINE_TYPE | nvarchar(20) | 傳回預存程式的 PROCEDURE,以及函式的 FUNCTION。 |
MODULE_CATALOG | nvarchar(128) | NULL。 保留供未來使用。 |
MODULE_SCHEMA | nvarchar(128) | NULL。 保留供未來使用。 |
MODULE_NAME | nvarchar(128) | NULL。 保留供未來使用。 |
UDT_CATALOG | nvarchar(128) | NULL。 保留供未來使用。 |
UDT_SCHEMA | nvarchar(128) | NULL。 保留供未來使用。 |
UDT_NAME | nvarchar(128) | NULL。 保留供未來使用。 |
DATA_TYPE | nvarchar(128) | 函式傳回值的數據類型。 如果數據表值函式為 ,則傳 回數據表 。 |
CHARACTER_MAXIMUM_LENGTH | int | 如果傳回類型是字元類型,則字元的最大長度。 -1 適用於 xml 和大型實值型別數據。 |
CHARACTER_OCTET_LENGTH | int | 如果傳回類型是字元類型,則以位元組為單位的最大長度。 -1 適用於 xml 和大型實值型別數據。 |
COLLATION_CATALOG | nvarchar(128) | 一律傳回 NULL。 |
COLLATION_SCHEMA | nvarchar(128) | 一律傳回 NULL。 |
COLLATION_NAME | nvarchar(128) | 傳回值的定序名稱。 針對非字元類型,會傳回NULL。 |
CHARACTER_SET_CATALOG | nvarchar(128) | 一律傳回 NULL。 |
CHARACTER_SET_SCHEMA | nvarchar(128) | 一律傳回 NULL。 |
CHARACTER_SET_NAME | nvarchar(128) | 傳回值的字元集名稱。 針對非字元類型,會傳回NULL。 |
NUMERIC_PRECISION | smallint | 傳回值的數值有效位數。 針對非數值型別,會傳回 NULL。 |
NUMERIC_PRECISION_RADIX | smallint | 傳回值的數值有效位數基數。 針對非數值型別,會傳回 NULL。 |
NUMERIC_SCALE | smallint | 傳回值的小數位數。 針對非數值型別,會傳回 NULL。 |
DATETIME_PRECISION | smallint | 如果傳回值的類型 為 datetime,則為秒的小數有效位數。 否則,便傳回 NULL。 |
INTERVAL_TYPE | nvarchar(30) | NULL。 保留供未來使用。 |
INTERVAL_PRECISION | smallint | NULL。 保留供未來使用。 |
TYPE_UDT_CATALOG | nvarchar(128) | NULL。 保留供未來使用。 |
TYPE_UDT_SCHEMA | nvarchar(128) | NULL。 保留供未來使用。 |
TYPE_UDT_NAME | nvarchar(128) | NULL。 保留供未來使用。 |
SCOPE_CATALOG | nvarchar(128) | NULL。 保留供未來使用。 |
SCOPE_SCHEMA | nvarchar(128) | NULL。 保留供未來使用。 |
SCOPE_NAME | nvarchar(128) | NULL。 保留供未來使用。 |
MAXIMUM_CARDINALITY | bigint | NULL。 保留供未來使用。 |
DTD_IDENTIFIER | nvarchar(128) | NULL。 保留供未來使用。 |
ROUTINE_BODY | nvarchar(30) | 傳回 Transact-SQL 函式的 SQL,以及外部寫入函式的 EXTERNAL。 函式一律為 SQL。 |
ROUTINE_DEFINITION | nvarchar(4000) | 如果函式或預存程式未加密,則傳回函數或預存程式定義文字的前 4000 個字元。 否則,便傳回 NULL。 若要確保您取得完整定義,請在 sys.sql_modules 目錄檢視中查詢OBJECT_DEFINITION函式或定義數據行。 |
EXTERNAL_NAME | nvarchar(128) | NULL。 保留供未來使用。 |
EXTERNAL_LANGUAGE | nvarchar(30) | NULL。 保留供未來使用。 |
PARAMETER_STYLE | nvarchar(30) | NULL。 保留供未來使用。 |
IS_DETERMINISTIC | nvarchar(10) | 如果例程具決定性,則傳回 YES。 如果例程不具決定性,則傳回 NO。 一律會針對預存程式傳回 NO。 |
SQL_DATA_ACCESS | nvarchar(30) | 傳回下列其中一值: NONE = 函數不包含 SQL。 CONTAINS = 函式可能包含 SQL。 READS = 函式可能會讀取 SQL 資料。 MODIFIES = 函式可能會修改 SQL 數據。 傳回所有函式的 READS,以及所有預存程式的 MODIFIES。 |
IS_NULL_CALL | nvarchar(10) | 指出如果其中任何一個自變數為 NULL,是否要呼叫例程。 |
SQL_PATH | nvarchar(128) | NULL。 保留供未來使用。 |
SCHEMA_LEVEL_ROUTINE | nvarchar(10) | 如果架構層級函式,則傳回 YES,如果不是架構層級函式,則傳回 NO。 一律會傳回 YES。 |
MAX_DYNAMIC_RESULT_SETS | smallint | 例程傳回的動態結果集數目上限。 如果函式,則傳回 0。 |
IS_USER_DEFINED_CAST | nvarchar(10) | 如果使用者定義轉換函式,則傳回 YES,如果不是使用者定義的轉換函式,則傳回 NO。 一律傳回 NO。 |
IS_IMPLICITLY_INVOCABLE | nvarchar(10) | 如果可以隱含叫用例程,則傳回 YES,如果無法隱含叫用函式則傳回 NO。 一律傳回 NO。 |
CREATED | datetime | 建立例程的時間。 |
LAST_ALTERED | datetime | 上次修改函式的時間。 |
另請參閱
系統檢視 (Transact-SQL)
資訊架構檢視 (Transact-SQL)
sys.columns (Transact-SQL)
sys.objects (Transact-SQL)
sys.procedures (Transact-SQL)
sys.sql_modules (Transact-SQL)