この例で使用するテーブル定義は、以下のとおりです。
CREATE TABLE t1 ( int_col INTEGER, var_char_col VARCHAR(40) CHARACTER SET UNICODE);
CREATE TABLE t2 ( int_col INTEGER, decimal_col DECIMAL (10, 6));
これらの関数定義は、この例ではTD_ANYTYPEパラメータを識別するために使用されます。
CREATE FUNCTION udf_1( A INTEGER, B TD_ANYTYPE) RETURNS TD_ANYTYPE;
CREATE FUNCTION udf_3( A INTEGER, B TD_ANYTYPE) RETURNS TD_ANYTYPE;
次の例では、パラメータとしてt1.int_colおよびt2.decimal_colを使用し、明示的に指定された戻りデータ型としてDECIMAL(10,6)を使用して、udf_1を呼び出します。
SELECT (udf_1 (t1.int_col, t2.decimal_col) RETURNS DECIMAL(10,6));
次の例では、パラメータとしてt1.var_char_colおよびt2.decimal_colを使用し、明示的に指定された戻りデータ型としてVARCHAR(40)を使用して、udf_3を呼び出します。
SELECT (udf_3 (t1.var_char_col, t2.decimal_col) RETURNS VARCHAR(40) CHARACTER SET LATIN);
最後の例では、パラメータとしてt2.decimal_colを使用し、明示的に指定された戻りデータ型としてDECIMAL(10,6)を使用して、method_2を呼び出します。
SELECT udt_col.(method_2(t2.decimal_col) RETURNS DECIMAL(10,6));