GET_TABLE_METADATA
유효 기간
추출 및 복제
설명
GET_TABLE_METADATA 함수를 사용하여 처리 중인 레코드와 연관된 테이블에 대한 메타데이터를 검색합니다.
구문
#include "usrdecs.h"
short result_code;
table_metadata_def tbl_meta_rec;
ERCALLBACK (GET_TABLE_METADATA, &tbl_meta_rec, &result_code);
버퍼
typedef struct
{
char *table_name;
short value_truncated;
long max_name_length;
long actual_name_length;
short num_columns;
short num_key_columns;
short *key_columns;
short num_keys_returned;
BOOL using_pseudo_key;
short source_or_target;
} table_metadata_def;
입력
<table_name>
table_name 반환 값을 수락할 버퍼에 대한 포인터입니다.
<key_columns>
key_columns 인덱스 배열에 대한 포인터입니다.
<max_name_length>
반환된 테이블 이름의 최대 길이입니다. 일반적으로 최대 길이는 테이블 이름 버퍼의 길이입니다. 반환된 테이블 이름이 null로 종료되므로 최대 길이는 테이블 이름의 최대 길이와 같아야 합니다.
<source_or_target>
다음 중 하나는 소스 또는 대상 테이블 이름을 반환할지 여부를 나타냅니다.
EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL
출력
<table_name>
처리 중인 레코드와 연계된 테이블의 이름입니다. User Exit의 문자 세션이 SET_SESSION_CHARSET로 운영 체제의 기본 문자 집합이 아닌 다른 값으로 설정되면(ucharset.h 파일의 ULIB_CS_DEFAULT에 정의됨) 테이블 이름이 세션 문자 집합에서 해석됩니다.
<value_truncated>
값이 잘렸는지 여부를 나타내는 플래그(0 또는 1)입니다. 테이블 이름과 널 종료자의 길이가 최대 버퍼 길이를 초과하는 경우 잘립니다.
<actual_name_length>
반환된 테이블 이름의 문자열 길이입니다. 실제 길이에는 널 종료자가 포함되지 않습니다.
<num_columns>
테이블의 열 수입니다.
<num_key_columns>
Oracle GoldenGate에서 사용 중인 키의 열 수입니다.
<key_columns>
키 열에 대한 값입니다. 예상 키 수에 열 길이를 곱한 다음 적절한 버퍼 크기를 할당해야 합니다.
<num_keys_returned>
요청된 키 열 수입니다.
using_pseudo_key
KEYCOLS 지정 열이 키로 사용되고 있는지 여부를 나타내는 플래그입니다. TRUE 또는 FALSE를 반환합니다.
반환 값
EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_EXCEEDED_MAX_LENGTH
EXIT_FN_RET_OK