GET_TABLE_NAME

유효 기간

추출 및 복제

설명

GET_TABLE_NAME 함수를 사용하여 처리 중인 레코드와 연관된 소스 또는 대상 테이블의 전체 이름을 검색합니다. 이 함수는 DML 및 DDL 작업의 테이블에 대해서만 유효합니다. 비테이블 객체의 전체 이름을 검색하려면 다음을 참조하십시오.

GET_OBJECT_NAME

정규화된 이름의 일부만 반환하려면 다음을 참조하십시오.

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)입니다.

User Exit의 문자 세션이 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