GET_COL_METADATA_FROM_INDEX

유효 기간

추출 및 복제

설명

GET_COL_METADATA_FROM_INDEX 함수를 사용하여 원하는 열의 인덱스를 지정하여 열 메타 데이터를 검색합니다.

데이터베이스 객체 이름은 대소문자를 포함하여 호스팅 데이터베이스에 정의된 대로 정확하게 반환됩니다.

구문

#include "usrdecs.h"
short result_code;
col_metadata_def column_meta_rec;
ERCALLBACK (GET_COL_METADATA_FROM_INDEX, &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_index>

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

<max_name_length>

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

<source_or_target>

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

EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL

출력

<column_name>

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

actual_name_length

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

value_truncated

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

<native_data_type>

열의 고유(데이터베이스) 데이터 유형입니다. 프로세스에 따라 다음과 같이 native_data_type 또는 dd_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>

인덱스에 있는 열의 순서를 나타냅니다. 예를 들어, 다음 테이블에는 Primary Key에서 선언된 순서와 다른 순서로 존재하는 두 개의 키 열이 있습니다.

CREATE TABLE ABC
(
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