INSERT UDFのパラメータ リスト - 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
INSERT UDFでは、INSERT操作に対するセキュリティ ポリシーを実装します。INSERT UDFのパラメータ リストは、次の内容で構成されます。
  • 入力パラメータ。このパラメータは、引数として現行セッションのセキュリティ ラベルを受け取ります。
  • 結果パラメータ。INSERTリクエストがセキュリティ ポリシーを満たしている場合は、現行セッションのセキュリティ ラベルを返し、それ以外の場合は0を返します。有効な戻り値についての詳細は、INSERT UDFまたはUPDATE UDFの戻り値を参照してください。戻り値のデータ型は、制約オブジェクトの定義で指定した型と同じにする必要があります。
  • 入力パラメータ用と結果パラメータ用の識別子パラメータ。これらのパラメータは、制約オブジェクトがNULLを許容する場合にのみ必要になります。

ここでは、INSERT UDFの宣言方法の例を示します。

/*****  C source file name: insertlevel.c  *****/
   
#define SQL_TEXT Latin_Text
#include <sqltypes_td.h>
   
void InsertLevel( short int  *sess_level,
                  short int  *new_row )
{
     ...
}

対応するCREATE FUNCTION文は、以下のようになります。

CREATE FUNCTION SYSLIB.InsertLevel( current_session SMALLINT )
        RETURNS SMALLINT
        LANGUAGE C
        NO SQL
        PARAMETER STYLE TD_GENERAL
        EXTERNAL NAME 'CS!insertlevel!cctests/insertlevel.c';
条件
  • Current_sessionは、セッションに現在設定されているセキュリティ ラベルを特定する、システム定義のパラメータ名です。
  • RETURNS data_typeは、制約オブジェクトの定義で指定したデータ型と同じになります。
  • 制約オブジェクトがNULLを許容する場合、PARAMETER STYLEはSQLになります。それ以外の場合、PARAMETER STYLEはTD_GENERALになります。