以下は、1つのパラメータを持ち、n次元ARRAYデータ型を使用して定義されたSTRUCTURED型UDTのUDMの作成例です。同じ例が、SQLパラメータ形式とTD_GENERALパラメータ形式の両方をもつDDLと関数プロトタイプを示すために、例: 多次元ARRAY型およびTD_GENERALパラメータ型を使用したインスタンス メソッドの作成にも繰り返されています。
まず、STRUCTURED型measures_udtを作成します。
CREATE TYPE measures_udt AS ( amplitud INTEGER, phase INTEGER, frequency INTEGER) INSTANCE METHOD update_measures ( a1 source_ary) … ;
次に、多次元ARRAY型source_aryを作成します。
CREATE TYPE source_ary AS INTEGER ARRAY [1:5][1:7][1:20];
最後に、1つの多次元ARRAYパラメータを持つ、measures_udtタイプのインスタンス メソッドupdate_measuresを作成します。
CREATE INSTANCE METHOD update_measures ( a1 source_ary) RETURNS INTEGER FOR measures_udt NO SQL PARAMETER STYLE SQL DETERMINISTIC LANGUAGE C EXTERNAL NAME 'CS!update_measures!update_measures.c!F!update_measures'; void update_measures ( UDT_HANDLE *thisUdt, ARRAY_HANDLE *aryval, INTEGER *result, int *indicator_this, int *indicator_aryval, int *indicator_result, char sqlstate[6], SQL_TEXT extname[129], SQL_TEXT specific_name[129], SQL_TEXT error_message[257]) { /* body function */ }