GET_COL_METADATA_FROM_NAME

유효 기간

추출 및 복제

설명

GET_COL_METADATA_FROM_NAME 함수를 사용하여 원하는 열의 이름을 지정하여 열 메타데이터를 검색합니다. User Exit의 문자 세션이 SET_SESSION_CHARSET로 운영 체제의 기본 문자 집합이 아닌 다른 값으로 설정되면(ucharset.h 파일의 ULIB_CS_DEFAULT에 정의됨) User Exit과 프로세스 간에 교환되는 문자 데이터가 세션 문자 집합에서 해석됩니다.

데이터베이스가 대소문자를 구분하는 경우 호스팅 데이터베이스에 정의된 것과 동일한 대소문자로 객체 이름을 지정해야 합니다. 그렇지 않으면 대소문자를 구분하지 않습니다.

구문

#include "usrdecs.h"
short result_code;
col_metadata_def column_meta_rec;
ERCALLBACK (GET_COL_METADATA_FROM_NAME, &column_meta_rec, &result_code);

버퍼

typedef struct
{
  short column_index;
  char *column_name;
  long max_name_length;
  short native_data_type;
  short gg_data_type;
  short gg_sub_data_type;
  short is_nullable;
  short is_part_of_key;
  short key_column_index;
  short length;
  short precision;
  short scale;
  short source_or_target;
} col_metadata_def;

입력

<column_name>

반환될 열 값의 열 이름입니다.

<max_name_length>

반환된 열 이름의 최대 길이입니다. 일반적으로 최대 길이는 이름 버퍼의 길이입니다. 반환된 이름이 null로 종료되므로 최대 길이는 열 이름의 최대 길이와 같아야 합니다.

<source_or_target>

다음 중 하나는 소스 또는 대상 레코드의 압축 여부를 나타냅니다.

EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL

출력

<column_index>

반환될 열 값의 열 인덱스입니다.

actual_name_length

반환된 이름의 실제 길이입니다.

<source_or_target>

다음 중 하나는 소스 또는 대상 레코드의 압축 여부를 나타냅니다.

EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL

value_truncated

값이 잘렸는지 여부를 나타내는 플래그(0 또는 1)입니다. 열 이름과 널 종료자의 길이가 최대 버퍼 길이를 초과하는 경우 잘립니다.

<native_data_type>

열의 고유(데이터베이스) 데이터 유형입니다.

<gg_data_type>

열의 Oracle GoldenGate 데이터 유형입니다.

<gg_sub_data_type>

열의 Oracle GoldenGate 하위 유형입니다.

<is_nullable>

열이 널 값을 허용하는지 여부를 나타내는 플래그입니다(TRUE 또는 FALSE).

<is_part_of_key>

열이 Oracle GoldenGate에서 사용 중인 키의 일부인지 여부를 나타내는 플래그(TRUE 또는 FALSE)입니다.

<key_column_index>

인덱스에 있는 열의 순서를 나타냅니다. 예를 들어, 다음 테이블에는 테이블의 한 순서와 인덱스 정의의 다른 순서로 정의된 두 개의 키 열이 있습니다.

CREATE TABLE tcustmer
(
cust_code        VARCHAR2(4),
name             VARCHAR2(30),
city             VARCHAR2(20),
state            CHAR(2),
PRIMARY KEY (city, cust_code)
USING INDEX
);

반환은 다음과 같습니다.

열이 키의 일부인 경우 인덱스의 순서는 정수로 반환됩니다.

열이 키의 일부가 아닌 경우 -1 값이 반환됩니다.

<length>

열의 길이를 반환합니다.

<precision>

숫자 데이터 유형인 경우 열의 자릿수를 반환합니다.

<scale>

숫자 데이터 유형인 경우 배율을 반환합니다.

반환 값

EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_EXCEEDED_MAX_LENGTH
EXIT_FN_RET_INVALID_COLUMN
EXIT_FN_RET_OK