17.00 - 17.05 - 例: 固定された結果行指定を持つテーブルUDF - 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
日本語 (日本)

次のコードは、テーブルUDFを実装するメソッドのメソッド シグネチャを示すコードの一部です。

public class UDFExample {

   ...

   public static void getStoreData( int   storedata,  /* input arg */
                                    int[] storeno,    /* output arg */
                                    int[] itemno,     /* output arg */
                                    int[] quantsold)  /* output arg */
   {
        ...
   }

   ...

}

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

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

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

CREATE FUNCTION getStoreData
  (FileToRead INTEGER)
RETURNS TABLE
   (StoreNo   INTEGER
   ,ItemNo    INTEGER
   ,QuantSold INTEGER)
LANGUAGE JAVA
NO SQL
EXTERNAL NAME 'JarUDF:UDFExample.getStoreData'
PARAMETER STYLE JAVA;

以下に、FROM句からテーブル関数を呼び出すINSERT … SELECT文の例を示します。

INSERT INTO Sales_Table
SELECT *
FROM TABLE (getStoreData(9005)) AS tf;