fromsqlルーチンはUDTを事前定義データ型にデータ変換します。
fromsqlデータ変換は一般に、ユーティリティと、共通に呼び出される一部のSQL文の両方によって使用されます。
次の例は、fromsqlデータ変換ルーチンを暗黙的に呼び出すことになる操作を示しています。
クライアント アプリケーションが、UDTの列または式を含む列リストが指定されたSELECT文を実行するとします。次の一連のイベントが発生します。
- システムは、そのUDTに対して定義されているデータ変換グループのfromsqlデータ変換ルーチンを暗黙的に呼び出し、UDT値を事前定義データ型の値にマップします。
- クライアント アプリケーションは事前定義データ型の値を受け取ります。
例えば、次の例を考えます。
SELECT udt_column FROM table1;
fromsqlデータ変換ルーチンはudt_columnの値を対応する事前定義データ型の値に変換してから、その値をクライアント アプリケーションに返します。UDTに定義済みのデータ変換がない場合、またはUDTのデータ変換グループに定義済みのfromsqlルーチンが含まれていない場合、リクエストは異常終了し、システムはリクエスト側にエラーを返します。
fromsqlルーチンのルールは、以下のとおりです。
- fromsqlデータ変換ルーチンはメソッドまたはUDFになることができる。
- fromsqlデータ変換ルーチンはDETERMINISTICとして定義されている必要がある。
- fromsqlデータ変換ルーチンがUDFである場合、function_nameまたはspecific_function_nameにはSYSUDTLIBデータベース内に含まれているUDFを指定する必要がある。
- fromsqlデータ変換ルーチンには、以下の宣言済みパラメータ リストと結果データ型を指定する必要がある。
fromsqlデータ変換ルーチンの種類 結果 UDF UDFには、UDTの宣言済みパラメータを1つ指定する必要があります。 結果のデータ型は事前定義データ型でなければならない。
メソッド メソッドは宣言済みパラメータを取りません。 この場合、UDTインスタンスが暗黙指定のパラメータです。
結果のデータ型は事前定義データ型でなければならない。
- tosqlとfromsqlの両方のデータ変換ルーチンを宣言する場合、tosqlルーチンの宣言済みパラメータ型はfromsqlルーチンのRESULTデータ型と同じである必要があります。