GET_BASE_OBJECT_NAME

有效對象

擷取與 Replicat

說明

使用 GET_BASE_OBJECT_NAME 函數來擷取與所處理記錄相關聯之來源或目標物件的基本物件完整名稱。此函數是 DDL 作業中的有效表格和其他物件。

若要只傳回基礎物件名稱的一部份,請參閱下列內容:

GET_BASE_OBJECT_NAME_ONLY GET_BASE_SCHEMA_NAME_ONLY

資料庫物件名稱的傳回方式與代管資料庫中定義的名稱完全相同,包括字母大小寫。

語法

#include "usrdecs.h"
short result_code;
env_value_def env_value;
ERCALLBACK (GET_BASE_OBJECT_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>

接受傳回之物件名稱的緩衝區指標。名稱為空值終止。

<max_length>

接受物件名稱的配置緩衝區長度上限。以 NULL 終止字串傳回此字串。

<source_or_target>

以下其中一個指示是否傳回來源或目標物件名稱。

EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL

輸出

<buffer>

完整的空值終止物件名稱,例如 schema.object 或 catalog.schema.object,視資料庫平台而定。

如果使用者結束程式的字元階段作業使用 SET_SESSION_CHARSET 設定為作業系統預設字元集以外的值 (如 ucharset.h 檔案中的 ULIB_CS_DEFAULT 所定義),則會在階段作業字元集中解譯物件名稱。

實際長

傳回之物件名稱的字串長度。實際長度不包含空值終止字元。如果物件是表格,則實際長度為 0。

<value_truncated>

指示值是否被截斷的旗標 (0 或 1)。如果物件名稱加上空值終止字元的長度超過緩衝區長度上限,就會發生截斷。

傳回值

EXIT_FN_RET_INVALID_COLUMN
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_OK