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;
REPLACE FUNCTION MYSUM(x INTEGER)
        RETURNS INTEGER
        LANGUAGE JAVA
        NO SQL
        CLASS AGGREGATE(200)
        PARAMETER STYLE JAVA
        EXTERNAL NAME 'Sum_JAR:UDFExample.simpleSum';

オブジェクト マッピングでは、EXTERNAL NAME文字列によりオブジェクト型と共にフェーズとコンテキストを指定する必要があります。例えば、次のようになります。

DATABASE JUDF;
REPLACE FUNCTION MYSUM(x INTEGER)
        RETURNS INTEGER
        LANGUAGE JAVA
        NO SQL
        CLASS AGGREGATE(200)
        PARAMETER STYLE JAVA
        EXTERNAL NAME 'Sum_JAR:UDFExample.simpleSum(com.teradata.fnc.Phase,
com.teradata.fnc.Context[],java.lang.Integer) returns java.lang.Integer';

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

public static java.lang.Integer simpleSum(com.teradata.fnc.Phase phase
,com.teradata.fnc.Context[] context,java.lang.Integer x)
{
   ...
}

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