ROUTINES (Transact-SQL)
为当前数据库中可由当前用户访问的每个存储过程及函数返回一行。 描述返回值的列只适用于函数。 对于存储过程,这些列将为 NULL。
若要从这些视图中检索信息,请指定 INFORMATION_SCHEMA.view_name 的完全限定名称。
注意 |
---|
ROUTINE_DEFINITION 列包含创建函数或存储过程的源语句。 这些源语句有可能包含嵌入式回车符。 如果将此列返回给某个以文本格式显示结果的应用程序,则 ROUTINE_DEFINITION 结果中的嵌入式回车符可能会影响整个结果集的格式。 如果选择 ROUTINE_DEFINITION 列,则必须对嵌入式回车符进行调整,例如,可将结果集返回到一个网格中或者将 ROUTINE_DEFINITION 返回到其自己的文本框中。 |
列名 |
数据类型 |
说明 |
||
---|---|---|---|---|
SPECIFIC_CATALOG |
nvarchar(128) |
特定的目录名称。 此名称与 ROUTINE_CATALOG 相同。 |
||
SPECIFIC_SCHEMA |
nvarchar(128) |
特定的架构名称。
|
||
SPECIFIC_NAME |
nvarchar(128) |
特定的目录名称。 此名称与 ROUTINE_NAME 相同。 |
||
ROUTINE_CATALOG |
nvarchar(128) |
函数的目录名。 |
||
ROUTINE_SCHEMA |
nvarchar(128) |
包含此函数的架构的名称。
|
||
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) |
函数返回值的数据类型。 如果是表值函数,则返回 table。 |
||
CHARACTER_MAXIMUM_LENGTH |
int |
以字符为单位的最大长度(如果返回类型是字符类型)。 对于 xml 和大值类型数据,为 -1。 |
||
CHARACTER_OCTET_LENGTH |
int |
以字节为单位的最大长度(如果返回类型是字符类型)。 对于 xml 和大值类型数据,为 -1。 |
||
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。 若要确保获得完整定义,请查询 OBJECT_DEFINITION 函数或 sys.sql_modules 目录视图中的 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 |
最后一次修改函数的时间。 |