您现在的位置: 中国教师站 >> 教师关注 >> 电脑技术 >> 编程技术 >> 数据库 >> 正文

Google
[UDF系列]如何创建InterBase UDF
作者:Siny 文章来源:中国教师站cn-teacher 点击数: 更新时间:2007-4-22 16:35:39

[UDF系列之五]:如何创建InterBase UDF

by Paul McGee (c) Borland Internation Inc.

Warton译


[概述]:

用户定义函数(UDF)是一种采用编译语言编写的函数,是用户为执行自定义的功能和常用的任务面设计的。UDF 允许程序员模块化一个数据库应用程序,并能嵌入到数据库以增强数据库自身的功能。UDF 也总是在数据库服务器端执行。这可以减少网络通信量。

UDF可以执行事务比如获得服务器上可用硬盘空间,清理字符串的空格,为一系列值计算标准偏差等等。UDF能完成任何功能只要编程语言能够表达出来。这种编程语言能常是在C和C++之间选择(当然,用户可以用其它语言,比如pascal 译者注)。

UDF在提供SQL语言不能处理的功能、查询、更新数据库,以及为异源客户工作站提供通用函数方面非常有效。

与其它功能相比,使用UDF要花费一些代价。这主要表现在两方面:第一,在UNIX或VMS平台,UDF是模块化AST程序,这意谓着当UDF在执行时,没有其它的存取操作可以发生。这就要求我们尽量使UDF尽可能的小和有效率。第二,如果数据库服务器崩溃,你需要将数据转移到另一台机器上。你必须首先在新的服务器上安装UDF库。如果在相同的操作系统下,这并不难。但是当转移到另一操作系统时,你只少需要编译一遍UDF库的源代码。

[UDF示例]:

     InterBase包含几个内置SQL 函数:UPPER,GEN_ID,CAST 。UPPER将一个字符串转为大写。GEN_ID生成一个唯一长整型值,因为一个特殊的生成器已经在数据库中定义。这在生成主键时是非常有用的,比如客户编号或职员编号。CAST将一种类型列转化为另一种类型的列。

    InterBase 也提供了另外一些UDF的源代码,在examples目录下。它们包含在udflib.c文件中。这里定义的UDF有:lower, strcat, substr, trim, trunc, doy, moy, dow, sysdate, add2, mul, fact, abs, maxnum, sqrt, blob_linecount, blob_bytecount, substr_blob。Lower是将字符串转化为小写串。Strcat连接两个字符串。Substr返回字符串的一部分。Trim清空字符串中的空格。Trunc返回删节后的串。doy(day of year),moy(month of year),dow(day of week)。Sysdate返回当前日期以字符串的形式(“mmm-dd-yyyy”).add2将两整数相加在一起。Mul将两double数相乘.maxnum返回两数中较大者。Sqrt为取平方。blob_bytecount返回blob的大小。Substr_blob,取blob的一部分文本。

    我们将增加几个新的UDF:rtrim, left, right, swapcase, imonth, iday, iyear。Rtrim去掉字符

[1] [2] [3] [4] [5] [6] 下一页

相关专题:
 
 网友评论:(评论内容只代表网友观点,与本站立场无关!)
GOOGLE广告

阅读排行

| 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 |
中国教师站

中国教师站 版权所有 Copyright © 2006-2020 All Rights Reserved 站长:Sina & Siny
[备用域名:www.JXZYW.Com] 有事请留言有事请留言
【实力成就精品 诚信呵护品牌】

信息产业部备案
苏ICP备06018635号