Image、Audio 及 Video Extenders 管理與程式設計

使用者定義函數

使用者定義函數 (UDF) 是建立 SQL 函數的一種方式, 所以加入 DB2 提供的內建函數集內。 特殊情況下,您可以為影像、音效及視訊物件建立 UDF,以執行專用作業。 例如,建立 UDF 來取得視訊的壓縮格式,或傳回音效的取樣率。 如此一來,即可定義特殊類型的物件之行為。 例如,視訊物件的行為是根據視訊類型的函數,影像物件的行為是根據影像類型的函數。

您可以使用 SQL CREATE FUNCTION 陳述式來建立 UDF。該陳述式特別指定 UDF 所適用的資料類型。 例如,下列陳述式建立一個 UDF map_scale,用來計算地圖的比例尺。 請注意,該 UDF 視 map 為可用的資料類型。 施行函數的程式碼是以 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

UDF 可使用於 SQL 陳述式中,如同內建函數一樣。 下列範例中,map_scale UDF 使用於 SQL SELECT 陳述式中, 來傳回表格直欄 grid 中儲存的地圖比例尺:

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

每一個 DB2 Extender 為其類型建立一組 UDT,亦即影像、音效及視訊三種類型的 UDF。 您可在 SQL 陳述式中使用這些 UDF 來要求 Extender 函數,例如在表格中儲存影像、 取得視訊框掃描率、或新增音效註解。


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]