次のテーブルの定義とデータについて考えてみます。
CREATE TABLE pRecords (pname CHAR(30), pkey INTEGER); SELECT * FROM pRecords;
このSELECT文の出力は、次のとおりです。
pname pkey ------------------------------ ----------- Tom 6 Bob 5 Jane 4
次に、整数引数の階乗を計算するスカラーUDFのSQL定義を示します。
CREATE FUNCTION factorial (i INTEGER) RETURNS INTEGER SPECIFIC factorial LANGUAGE C NO SQL PARAMETER STYLE TD_GENERAL NOT DETERMINISTIC RETURNS NULL ON NULL INPUT EXTERNAL NAME 'ss!factorial!factorial.c!F!fact'
次の問合わせでは、スカラーUDF式を使用してpkey列の階乗+1を計算します。
SELECT pname, factorial(pkey)+1 FROM pRecords;
このSELECT文の出力は、次のとおりです。
pname (factorial(pkey)+1) ------------------------------ ------------------- Tom 721 Bob 121 Jane 25