为当前数据库中可由当前用户访问的每个存储过程及函数返回一行。描述返回值的列只适用于函数。对于存储过程,这些列将为 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 视图来确定对象的架构。查找对象架构的唯一可靠的方式是查询 sys.objects 目录视图。
|
|
SPECIFIC_NAME
|
nvarchar(128)
|
特定的目录名称。该名称与 ROUTINE_NAME 相同。
|
|
ROUTINE_CATALOG
|
nvarchar(128)
|
函数的目录名。
|
|
ROUTINE_SCHEMA
|
nvarchar(128)
|
包含该函数的架构名称。
重要提示:
请勿使用 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)
|
函数返回值的数据类型。如果是表值函数,则返回 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
|
最后一次修改函数的时间。
|
参考
系统视图 (Transact-SQL)
信息架构视图 (Transact-SQL)
sys.columns (Transact-SQL)
sys.objects (Transact-SQL)
sys.procedures (Transact-SQL)
sys.sql_modules (Transact-SQL)
其他资源
查询 SQL Server 系统目录
帮助和信息
获取 SQL Server 2008 帮助