この例に示す各CREATE FUNCTIONリクエストは、各種のLOB関連データをアルゴリズム圧縮するために記述されています。
外部関数のC、C++、またはJavaコードを記述する方法については、<Teradata Vantage™ - SQL外部ルーチン プログラミング、B035-1147>を参照してください。これらの関数定義は、LOB関連のデータを圧縮するために参照します。
この例に示す関数でアルゴリズム圧縮したデータを圧縮解除するために記述された関数については、例: アルゴリズム圧縮されたLOB関連データを圧縮解除する関数の作成を参照してください。
この例では、clob_compressという名前のUDFを作成して、CLOB列をアルゴリズム圧縮します。
CREATE FUNCTION clob_compress (a CLOB AS LOCATOR) RETURNS BLOB AS LOCATOR SPECIFIC clob_compress LANGUAGE C NO SQL FOR COMPRESS PARAMETER STYLE TD_GENERAL RETURNS NULL ON NULL INPUT DETERMINISTIC EXTERNAL NAME 'cs!clobcompress!clobcompress.c';
この例では、d_clob_compressという名前のUDFを作成して、DISTINCT型LOBベースのUDT列をアルゴリズム圧縮します。
CREATE FUNCTION d_clob_compress (a DCLOB) RETURNS BLOB AS LOCATOR SPECIFIC d_clob_compress LANGUAGE C NO SQL FOR COMPRESS PARAMETER STYLE TD_GENERAL RETURNS NULL ON NULL INPUT DETERMINISTIC EXTERNAL NAME 'cs!dclobcompress!dclobcompress.c';