IBM Books

Image Extender、Audio Extender 和 Video Extender 管理和程序设计

用户定义函数

用户定义函数 (UDF) 是创建 SQL 函数, 并因此添加至随 DB2 一起提供的内置函数集的方法。尤其是,可创建专门对图象、音频和视频执行操作的 UDF。例如,可创建 UDF 来获取视频的压缩格式,并返回音频的采样速率。这提供了一种方法来定义特殊类型的对象的行为。例如,用为视频类型创建的函数来表达视频对象的行为, 用为图象类型创建的函数来表达图象对象的行为。

用 SQL CREATE FUNCTION 语句创建 UDF。该语句指定此 UDF 所适用的数据类型。例如,以下语句创建名为 map_scale 的 UDF,它计算地图的比例尺。注:该 UDF 将地图标识为可对其应用的数据类型。实现函数的代码是用 C 语言编写的,在 EXTERNAL NAME 子句中标识:

CREATE FUNCTION map_scale (map)
  RETURNS SMALLINT
  EXTERNAL NAME 'scale!map'
  LANGUAGE C
  PARAMETER STYLE DB2SQL
  NO SQL
DETERMINISTIC
  NO EXTERNAL ACTION

可象使用内置函数那样在 SQL 语句中使用 UDF。在下例中, SQL SELECT 语句中使用 map_scale UDF 来返回存储在名为 grid 的表列中的地图的比例尺:

SELECT map_scale (grid)
  FROM places
  WHERE location='SAN JOSE, CALIFORNIA'

每个 DB2 Extender 都为其类型创建一组 UDF,即,特定于图象、 特定于音频和特定于视频的 UDF。可在 SQL 语句中使用这些 UDF 来请求 Extender 功能, 如将图象存储在表中、获取视频的帧速率,或添加关于音频的注解。


[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 ]