例: パラメータ スタイルTD_GENERAL付きUDM
以下に示すのは、パラメータ スタイルTD_GENERALを使用するUDMのC関数を示すコードの一部です。
/***** C source file name: to_inches.c *****/ #define SQL_TEXT Latin_Text #include <sqltypes_td.h> #include <string.h> void meters_toInches( UDT_HANDLE *meterUDT FLOAT *result, char sqlstate[6]) { ... }
C関数の完全な例については、UDMのサンプル コードを参照してください。
メソッドに関連付けられたUDTを作成するCREATE TYPE文は、次のようになります。
CREATE TYPE meter AS FLOAT FINAL INSTANCE METHOD toInches() RETURNS FLOAT SPECIFIC toInches NO SQL PARAMETER STYLE TD_GENERAL DETERMINISTIC LANGUAGE C;
サ―バーにUDMをインストールするための対応するCREATE METHOD文は、以下のようになります。
CREATE METHOD toInches() RETURNS FLOAT FOR meter EXTERNAL NAME 'CS!toinches!udm_src/to_inches.c!F!meters_toInches';
例: パラメータ スタイルSQL付きUDM
以下に示すのは、パラメータ スタイルSQLを使用するUDMのC関数の宣言方法を示すサンプルです。
/***** C source file name: to_inches.c *****/ #define SQL_TEXT Latin_Text #include <sqltypes_td.h> #include <string.h> void meters_toInches( UDT_HANDLE *meterUDT FLOAT *result, int *meterUDTIsNull, int *resultIsNull, char sqlstate[6]) SQL_TEXT extname[129], SQL_TEXT specific_name[129], SQL_TEXT error_message[257] ) { ... }
C関数の完全な例については、UDMのサンプル コードを参照してください。
メソッドに関連付けられたUDTを作成するCREATE TYPE文は、次のようになります。
CREATE TYPE meter AS FLOAT FINAL INSTANCE METHOD toInches() RETURNS FLOAT SPECIFIC toInches NO SQL PARAMETER STYLE SQL DETERMINISTIC LANGUAGE C;
サ―バーにUDMをインストールするための対応するCREATE METHOD文は、以下のようになります。
CREATE METHOD toInches() RETURNS FLOAT FOR meter EXTERNAL NAME 'CS!toinches!udm_src/to_inches.c!F!meters_toInches';