例: パラメータ型のデフォルト マッピングの使用 - Teradata Database - Teradata Vantage NewSQL Engine

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/uhh1512082756414.ditamap
dita:ditavalPath
ja-JP/uhh1512082756414.ditaval
dita:id
B035-1147
Product Category
Software
Teradata Vantage

以下に、SQL INTEGER型のパラメータをJava intプリミティブにマッピングするスカラーUDFのJavaメソッドの実装方法を示すコードの例を示します。このUDFは入力引数にNULLが指定された場合は処理できません。また、戻り値としてNULLを返すこともできません。

public class UDFExample {

   public static int fact( int x ) {
      if (x < 0)
         return 0;
      int factResult = 1;
      while (x > 1) {
         factResult = factResult * x;
         x = x - 1;
      }
      return factResult;
   }

    ...

}

UDFExampleクラスのJARファイルがUDFExample.jarという名前の場合、以下の文は、UDFExample.jarUDFExampleクラスをデータベースに登録し、JARファイルに対してJarUDFと呼ばれるSQL識別子を作成します。

CALL SQLJ.INSTALL_JAR('CJ!udfsrc/UDFExample.jar','JarUDF',0);

UDFを定義するための対応するCREATE FUNCTION文は、以下のようになります。

CREATE FUNCTION factorial
  (x INTEGER)
RETURNS INTEGER
LANGUAGE JAVA
NO SQL
PARAMETER STYLE JAVA
RETURNS NULL ON NULL INPUT
EXTERNAL NAME 'JarUDF:UDFExample.fact';