科技时代新浪首页 > 科技时代 > 滚动新闻 > 正文

SQL入门:用户定义函数


http://www.sina.com.cn 2006年10月02日 10:49 ChinaByte

  如使用函数中(点击查看)所述,DB2 通用数据库提供内部函数和用户定义函数 (UDF)。然而,此函数集从不会满足所有需求。您常常需要为特别的任务创建定制函数。用户定义函数允许您创建定制函数。

  用户定义函数有两种类型:源和外部函数。

  源用户定义函数允许允许用户定义类型有选择地引用另一个已为数据库所知的内部函数或用户定义函数。您可以既使用标量函数又使用列函数。

  在下一示例中,基于内部 MAX 列函数来创建称为 MAX 的用户定义函数,它采用 DECIMAL 数据类型作为输入。MAX UDF 采用 PAY 类型作为输入且返回一个 PAY 类型作为输出。

  CREATE FUNCTION MAX(PAY) RETURNS PAY

  SOURCE MAX(DECIMAL)

  外部用户定义函数由用户用程序设计语言编写。有外部标量函数和外部表函数,在 SQL Reference 中讨论了这两个函数。

  假定您已编写了一个计算字符串中字数的函数,则您可以使用 CREATE FUNCTION 语句以名称 WORDCOUNT 向数据库注册该函数。然后就可在 SQL 语句中使用此函数。

  例如,下列语句返回雇员编号和他们简历的 ASCII 格式的字数。WORDCOUNT 是用户已向数据库注册并且现正在语句中使用的外部标量函数。

  SELECT EMPNO, WORDCOUNT(RESUME)

  FROM EMP_RESUME

  WHERE RESUME_FORMAT = 'ascii'

爱问(iAsk.com)



论坛】【收藏此页】【 】【多种方式看新闻】【下载点点通】【打印】【关闭




科技时代意见反馈留言板 电话:010-82628888-5595   欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

Copyright © 1996 - 2006 SINA Inc. All Rights Reserved

新浪公司 版权所有