17.00 - 17.05 - SQL定義 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL外部ルーチン プログラミング

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Published
2020年6月
Content Type
プログラミング リファレンス
Publication ID
B035-1147-170K-JPN
Language
日本語 (日本)

SQLデータ型マッピング用のデフォルトのマッピング規則は単純なマッピングで、SQLデータ型がJavaプリミティブにマッピングされます。この例では、EXTERNAL NAME文字列はパラメータ型を指定しません。そのため、単純なマッピングが想定されます。対応するJava関数は、この後の「Javaの実装」のセクションに示すような単純なマッピングも使用しなければなりません。

DATABASE JUDF;
CREATE FUNCTION extract_field(Text VARCHAR(32000),
                              From_Store INTEGER)
   RETURNS TABLE (Customer_ID INTEGER,
                  Store_ID INTEGER,
                  Item_ID INTEGER)
   LANGUAGE JAVA
   NO SQL
   PARAMETER STYLE JAVA
   EXTERNAL NAME 'UDF_JAR:UserDefinedFunctions.extract_field';

この例では、オブジェクト マッピングによるテーブル関数のSQL定義を示します。

DATABASE JUDF;
CREATE FUNCTION extract_field(Text VARCHAR(32000),
                              From_Store INTEGER)
   RETURNS TABLE (Customer_ID INTEGER,
                  Store_ID INTEGER,
                  Item_ID INTEGER)
   LANGUAGE JAVA
   NO SQL
   PARAMETER STYLE JAVA
   EXTERNAL NAME 'UDF_JAR:UserDefinedFunctions.extract_field(java.lang.String, 
java.lang.Integer, java.lang.Integer[], java.lang.Integer[], java.lang.Integer[]';

対応するJava UDFの定義は次のようになります。

public static void extract_field(java.lang.String textstr,
                                 java.lang.Integer from_store,
                                 java.lang.Integer[] cust_id,
                                 java.lang.Integer[] store_id,
                                 java.lang.Integer[] item_id)
{
   ...
}

単純なマッピングとオブジェクト マッピングの詳細については、Javaデータ型を参照してください。