GET_OBJECT_NAME
有效對象
擷取與 Replicat
說明
使用 GET_OBJECT_NAME 函數來擷取與所處理記錄相關聯之來源或目標物件的完整名稱。此函數是 DML 或 DDL 作業中的有效表格和其他物件。
如果只要傳回物件名稱的一部分,請參閱:
GET_OBJECT_NAME_ONLY GET_SCHEMA_NAME_ONLY GET_CATALOG_NAME_ONLY
資料庫物件名稱的傳回方式與代管資料庫中定義的名稱完全相同,包括字母大小寫。
語法
#include "usrdecs.h"
short result_code;
env_value_def env_value;
ERCALLBACK (GET_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