fromsqlデータ変換ルーチンのルール - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
ft:locale
ja-JP
ft:lastEdition
2021-03-30
dita:mapPath
ja-JP/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage

fromsqlルーチンはUDTを事前定義データ型にデータ変換します。

fromsqlデータ変換は一般に、ユーティリティと、共通に呼び出される一部のSQL文の両方によって使用されます。

次の例は、fromsqlデータ変換ルーチンを暗黙的に呼び出すことになる操作を示しています。

クライアント アプリケーションが、UDTの列または式を含む列リストが指定されたSELECT文を実行するとします。次の一連のイベントが発生します。

  1. システムは、そのUDTに対して定義されているデータ変換グループのfromsqlデータ変換ルーチンを暗黙的に呼び出し、UDT値を事前定義データ型の値にマップします。
  2. クライアント アプリケーションは事前定義データ型の値を受け取ります。

例えば、次の例を考えます。

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データ型と同じである必要があります。