SQL定義 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/rin1593638965306.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1147
Product Category
Software
Teradata Vantage

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データ型を参照してください。