17.00 - 17.05 - 汎用グローバル関数の作成 - 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
日本語 (日本)

汎用グローバル関数を作成する1つの方法は、最初に作成するUDFのためのC/C++関数の中でコードを供給することです。

例えば、次のような汎用グローバル関数があるとします。

/*****  Source code filename: global1.c  *****/
int global1( char *text1)
{
   ...
}

最初のUDFのCコードで、汎用グローバル関数を次のように宣言します。

/*****  Source code filename: udf1.c  *****/
#define SQL_TEXT Latin_Text
#include <sqltypes_td.h>
 
external global1(char *text1);
   
void udf1(CHARACTER *a, INTEGER *result,
          ... )
{
   int global_result;
 
   global_result = global1(a);
   ... 
   
}

対応するCREATE FUNCTION文では、次のようにして、汎用グローバル関数と最初のUDFのソースを指定する必要があります。

CREATE FUNCTION UDF1(A CHAR(30) CHARACTER SET LATIN)
RETURNS INTEGER
  ...
EXTERNAL NAME 'CS!global1!global1.c!CS!udf1!udf1.c';