GET_SCHEMA_NAME_ONLY

有效對象

擷取與 Replicat

說明

使用 GET_SCHEMA_NAME_ONLY 函數來擷取與所處理記錄關聯之來源或目標物件的名稱 (例如綱要),但不擷取目錄或容器的名稱 (如果適用) 或物件。此函數適用於 DML 和 DDL 作業。

若要傳回表格的完整名稱,請參閱下列內容:

GET_TABLE_NAME

若要傳回非表格物件 (例如使用者、檢視或 <index>) 的完整名稱,請參閱下列內容:

GET_OBJECT_NAME

如果只要傳回不合格的表格或物件名稱,請參閱下列內容:

GET_TABLE_NAME_ONLY

GET_OBJECT_NAME_ONLY

若要傳回表格或物件名稱的其他部分,請參閱下列內容:

GET_CATALOG_NAME_ONLY

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

語法

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

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

<max_length>

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

<source_or_target>

下列其中一個指示是否傳回來源或目標綱要名稱。

EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL

輸出

<buffer>

完整、空值終止的綱要名稱。

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

<actual_length>

傳回名稱的字串長度。實際長度不包含空值終止字元。

<value_truncated>

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

傳回值

EXIT_FN_RET_INVALID_COLUMN
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_OK