ROUTINES (Transact-SQL)
更新日期: 2007 年 9 月 15 日
为当前数据库中可由当前用户访问的每个存储过程及函数返回一行。描述返回值的列只适用于函数。对于存储过程,这些列将为 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 |
最后一次修改函数的时间。 |
请参阅
参考
系统视图 (Transact-SQL)
信息架构视图 (Transact-SQL)
sys.columns (Transact-SQL)
sys.objects (Transact-SQL)
sys.procedures (Transact-SQL)
sys.sql_modules (Transact-SQL)
其他资源
帮助和信息
更改历史记录
版本 | 历史记录 |
---|---|
2007 年 9 月 15 日 |
|