ROUTINES (Transact-SQL)
适用于:Microsoft Fabric Microsoft Fabric Warehouse 中的 SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW) SQL Analytics 终结点
为当前数据库中可由当前用户访问的每个存储过程及函数返回一行。 描述返回值的列只适用于函数。 对于存储过程,这些列将为 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)