UDT式は、CまたはC++で記述されたUDFの入力引数として使用できます。UDT式は、Javaで記述されたUDFの入力引数としては使用できません。
UDT式は、CまたはC++で記述されたストアド プロシージャおよび外部ストアド プロシージャのINおよびINOUTパラメータとしても使用できます。ただし、UDT式はJavaで記述されたストアド プロシージャおよび外部ストアド プロシージャのINおよびINOUTパラメータとしては使用できません。
順序付き分析関数を除き、UDT式はたいていのSQL関数や演算子と一緒に使用できます。ただし、UDTを、それらの関数や演算子で許容される事前定義型にキャストするCAST定義が存在することが前提になります。
例
euroという名前のDISTINCT型UDTと、addressという名前のSTRUCTURED型UDTを作成する次のような文について考えてみましょう。
CREATE TYPE euro AS DECIMAL(8,2) FINAL; CREATE TYPE address AS (street VARCHAR(20) ,zip CHAR(5)) NOT FINAL;
以下の文は、locationという名前のaddress列を定義するテーブルを作成します。
CREATE TABLE european_sales (region INTEGER ,location address ,sales DECIMAL(8,2));