この例は、5個の構成要素を持つ1次元ARRAYデータ型を使用して、update_phoneという名前でSQLパラメータ型のインスタンス メソッドを作成します。
最初に、phonenumbers_aryという名前のCHARACTERエレメント タイプを使用してARRAY型を作成します。
CREATE TYPE phonenumbers_ary AS CHARACTER(10) ARRAY[5];
次に、address_udtという名前のSTRUCTURED型UDTを作成します。
CREATE TYPE address_udt AS ( house_num INTEGER, street VARCHAR(100), phone CHAR(10)) INSTANCE METHOD update_phone ( a1 source_ary) … ;
最後に、SQLパラメータ形式を使用して、address_udtのインスタンス メソッドupdate_phoneを作成します。
CREATE INSTANCE METHOD update_phone (
p1 phonenumbers_ary)
FOR address_udt
RETURNS INTEGER
NO SQL
PARAMETER STYLE SQL
DETERMINISTIC
LANGUAGE C
EXTERNAL NAME 'CS!update_phone!update_phone.c!F!update_phone';
void update_phone (
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 */
}