4.4.2 创建自定义函数
创建自定义函数的Transact-SQL语句如下所示:
CREATE FUNCTION [schema_name.]function_name
(
[ {@parameter_name scalar_data_type [= default]} [,...n] ]
}
returns scalar_data_type
|TABLE
|return_variable TABLE ({ column_def table_constraint} [, ...n] )
[WITH {ENCRYPTION | SCHEMABINDING} [,...n] ]
[AS]
{BEGIN function_body END}
| RETURN [(] {value | select-stmt} [)]
|
上述语法中的各参数如表4.5所示。
表4.5 自定义函数语法中的各参数
|
参 数 |
含 义 |
|
function_name |
要创建的自定义函数名称 |
|
@parameter_name |
参数名称 |
|
returns |
返回值类型 |
|
WITH |
附加选项,如果需要对函数体进行加密,可使用WITH ENCRYPTION;如果需要将创建的函数与引用的数据库绑定,可以使用WITH SCHEMABINDING |
|
AS |
AS后为创建的函数体 |
CREATE FUNCTION为数据库管理人员使用Transact-SQL语句创建自定义函数提供了途径。数据库管理员可以使用SQL语句创建自己所需的自定义函数。
一个用户自定义函数可以接收0个或多个参数。输入的参数可以是除TIMESTAMP、CURSOR和数据表TABLE之外的其他类型的SQL Server数据库数据类型。作为一种函数,它也必须返回相应的数据,该数据可以是一些值(即标量),也可以是一个数据表,返回值可以是除TIMESTAMP、CURSOR、TEXT、NTEXT和IMAGE之外的其他任何数据库数据类型。
根据需要自定义函数返回的值的类型,可以将一个Transact-SQL类型的自定义函数分为两种类型,即标量值(单值型)自定义函数和表值(数据集型)函数,详情请参见4.43节。
| 回书目 上一节 下一节 |