説明
GET_BASE_SCHEMA_NAME_ONLYファンクションでは、処理中のレコードに関連付けられているソースまたはターゲット・オブジェクトのベース・オブジェクトの、名前ではなく、所有者(スキーマなど)の名前を取得します。このファンクションは、DDL操作に有効です。
ベース・オブジェクトの完全修飾表名を返すには、次を参照してください。
ベース・オブジェクトの修飾されていない名前のみを返すには、次を参照してください。
データベース・オブジェクト名は、大/小文字の区別を含め、ホストしているデータベースで定義されているとおりに、正確に返されます。
構文
#include "usrdecs.h" short result_code; env_value_def env_value; ERCALLBACK (GET_BASE_SCHEMA_NAME_ONLY, &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
出力
bufferNULLで終了する完全修飾スキーマ名。
ユーザー・イグジットの文字セッションが、SET_SESSION_CHARSETを使用して、オペレーティング・システムのデフォルトのキャラクタ・セット以外の値に設定されている場合、ucharset.hファイルのULIB_CS_DEFAULTで定義されているように、スキーマ名はセッションのキャラクタ・セットで解釈されます。
actual_length返される名前の文字列長。実際の長さにNULL終了文字は含まれません。
value_truncated値が切り捨てられたかどうかを示すフラグ(0または1)。切捨ては、スキーマ名とNULL終了文字を足した長さが、最大バッファ長を超えるときに行われます。