UDF—SQL Server 2000的新特性
2005-11-06 17:02:01 来源:WEB开发网核心提示:本文将介绍Microsoft sql server(WINDOWS平台上强大的数据库平台) 2000的新增特性—用户自定义函数User-Defined Function(UDF),并演示几个常用的实例,UDF—SQL Server 2000的新特性, UDF的功能类似sql server(WINDOWS平台上强大的数据
本文将介绍Microsoft sql server(WINDOWS平台上强大的数据库平台) 2000的新增特性—用户自定义函数User-Defined Function(UDF),并演示几个常用的实例。
UDF的功能类似sql server(WINDOWS平台上强大的数据库平台)中内建的系统函数,如CONVERT、SUBSTRING、 DATAADD、 GETDATA、ISNULL等等。一个UDF可以没有参数,或者带有一个或多个参数,函数运行后将会返回一个函数值。定义UDF的语法如下:
CREATE FUNCTION [ owner_name.] function_name
( { { @parameter_name scalar_parameter_data_type
[,…n] ] )
RETURN scalar_return_data_type
[WITH < function_option> [, … n]]
[AS]
BEGIN
Function_body
RETURN scalar_expression
END
每个UDF可以带有0个到1024个参数,每个参数可以是除了timestamp、cursor、table 以外所有的数据类型;函数返回值的限制要更多一些,它不可以是text、ntext、image、timestamp、cursor和table。
函数体是UDF的主要部分,它有两个选项: ENCRYOTION和 SCHEMABINDING。
SCHEMABINDING是sql server(WINDOWS平台上强大的数据库平台) 2000的新增功能,可以和视图一同使用。该选项不允许删除和修改被该函数引用的对象。这样可以防止无效的函数和视图对它们引用的对象进行结构上的修改。
大家会注意到函数体以Begin开始,End结束。这一点不同于创建存储过程、触发器和视图。当您忘了写上Begin/End时,系统会返回一个提示信息“Incorrect syntax near ‘RETURN’”。为什么不直接说少了Begin/End,这有点让人费解。
UDF的功能类似sql server(WINDOWS平台上强大的数据库平台)中内建的系统函数,如CONVERT、SUBSTRING、 DATAADD、 GETDATA、ISNULL等等。一个UDF可以没有参数,或者带有一个或多个参数,函数运行后将会返回一个函数值。定义UDF的语法如下:
CREATE FUNCTION [ owner_name.] function_name
( { { @parameter_name scalar_parameter_data_type
[,…n] ] )
RETURN scalar_return_data_type
[WITH < function_option> [, … n]]
[AS]
BEGIN
Function_body
RETURN scalar_expression
END
每个UDF可以带有0个到1024个参数,每个参数可以是除了timestamp、cursor、table 以外所有的数据类型;函数返回值的限制要更多一些,它不可以是text、ntext、image、timestamp、cursor和table。
函数体是UDF的主要部分,它有两个选项: ENCRYOTION和 SCHEMABINDING。
SCHEMABINDING是sql server(WINDOWS平台上强大的数据库平台) 2000的新增功能,可以和视图一同使用。该选项不允许删除和修改被该函数引用的对象。这样可以防止无效的函数和视图对它们引用的对象进行结构上的修改。
大家会注意到函数体以Begin开始,End结束。这一点不同于创建存储过程、触发器和视图。当您忘了写上Begin/End时,系统会返回一个提示信息“Incorrect syntax near ‘RETURN’”。为什么不直接说少了Begin/End,这有点让人费解。
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
更多精彩
赞助商链接