GET_TABLE_NAME
有效對象
擷取與 Replicat
說明
使用 GET_TABLE_NAME 函數來擷取與所處理記錄相關聯之來源或目標表格的完整名稱。此函數僅適用於 DML 和 DDL 作業中的表格。若要擷取非表格物件的完整名稱,請參閱下列內容:
若要僅傳回完整名稱的一部分,另請參閱:
GET_TABLE_NAME_ONLY GET_SCHEMA_NAME_ONLY GET_CATALOG_NAME_ONLY
資料庫物件名稱的傳回方式與代管資料庫中定義的名稱完全相同,包括字母大小寫。
此函數僅在物件為表格時傳回值。否則,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>
接受傳回之表格名稱的緩衝區指標。表格名稱為空值終止。
<max_length>
接受表格名稱的配置緩衝區長度上限。以 NULL 終止字串傳回此字串。
<source_or_target>
下列其中一個指示是否傳回來源或目標表格名稱。
EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL
輸出
<buffer>
完整的空值終止表格名稱,例如 schema.table 或 catalog.schema.table,視資料庫平台而定。
如果使用者結束程式的字元階段作業使用 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