説明
GET_TABLE_NAME
ファンクションでは、処理中のレコードに関連付けられているソースまたはターゲット表の完全修飾名を取得します。このファンクションは、DMLおよびDDL操作の表にのみ有効です。表以外のオブジェクトの完全修飾表名を取得するには、次を参照してください。
完全修飾名の一部のみを返すには、次も参照してください。
データベース・オブジェクト名は、大/小文字の区別を含め、ホストしているデータベースで定義されているとおりに、正確に返されます。
オブジェクトが表の場合にのみ、このファンクションは値を返します。それ以外の場合は、env_value_def
変数のactual_length
は0を返します。
構文
#include "usrdecs.h" short result_code; env_value_def env_value; ERCALLBACK (GET_TABLE_NAME, &env_value, &result_code);
バッファ
typedef struct { char *buffer; long max_length; long actual_length; short value_truncated; short index; short source_or_target; } env_value_def;
入力
buffer
返された表名を受け付けるバッファへのポインタ。表名はNULLで終了します。
max_length
表名を受け付けるために割り当てたバッファの最大長。NULL
終了文字列として返されます。
source_or_target
ソースまたはターゲット表のどちらの名前を返すかを示す次の一方。
EXIT_FN_SOURCE_VAL EXIT_FN_TARGET_VAL
出力
buffer
schema.table
やcatalog.schema.table
など、データベース・プラットフォームに応じた、NULLで終了する完全修飾表名。
ユーザー・イグジットの文字セッションが、SET_SESSION_CHARSET
を使用して、オペレーティング・システムのデフォルトのキャラクタ・セット以外の値に設定されている場合、ucharset.h
ファイルのULIB_CS_DEFAULT
で定義されているように、表名はセッションのキャラクタ・セットで解釈されます。
actual length
返される表名の文字列長。実際の長さにNULL終了文字は含まれません。オブジェクトが表以外の場合、返される実際の長さは0です。
value_truncated
値が切り捨てられたかどうかを示すフラグ(0
または1
)。切捨ては、表名とNULL終了文字を足した長さが、最大バッファ長を超えるときに行われます。