例 - 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 INTEGER型のパラメータをJava intプリミティブにマッピングする外部ストアド プロシージャのJavaメソッドの実装方法を示すコードの一部を示します。

public class region {

   public static void newRegion( int[] regionID )
   {
       regionID[0] += 1;
   }

   ...

}

領域クラスのJARファイルがregion.jarを呼び出した場合、以下の文は、region.jarリージョンクラスをデータベースに登録し、JARファイルに対してJarXSPと呼ばれるSQL識別子を作成します。

CALL SQLJ.INSTALL_JAR('CJ!C:\xspsrc\region.jar','JarXSP',0);

外部ストアド プロシージャを定義する、対応するCREATE PROCEDURE文は以下のようになります。

CREATE PROCEDURE NewRegionXSP
  (INOUT regionID INTEGER)
LANGUAGE JAVA
NO SQL
PARAMETER STYLE JAVA
EXTERNAL NAME 'JarXSP:region.newRegion';

例: パラメータ型のデフォルト マッピングの上書き

以下に、SQL INTEGER型のパラメータをjava.lang.Integerクラスにマッピングする外部ストアド プロシージャのJavaメソッドの実装方法を示すコードの一部を示します。

public class region {

   public static void newRegion( Integer[] regionID )
   {
       if (regionID[0] != null)
          regionID[0] = regionID[0].intValue() + 1;
   }

   ...

}

領域クラスのJARファイルがregion.jarを呼び出した場合、以下の文は、region.jarリージョンクラスをデータベースに登録し、JARファイルに対してJarXSPと呼ばれるSQL識別子を作成します。

CALL SQLJ.INSTALL_JAR('CJ!C:\xspsrc\region.jar','JarXSP',0);

外部ストアド プロシージャを定義する、対応するCREATE PROCEDURE文は以下のようになります。

CREATE PROCEDURE NewRegionXSP
  (INOUT regionID INTEGER)
LANGUAGE JAVA
NO SQL
PARAMETER STYLE JAVA
EXTERNAL NAME 'JarXSP:region.newRegion(java.lang.Integer[])';