GET_TABLE_NAME

Válido para

Extraer y Replicat

Descripción

Utilice la función GET_TABLE_NAME para recuperar el nombre totalmente cualificado de la tabla de origen o de destino asociada al registro que se está procesando. Esta función solo es válida para las tablas de las operaciones DML y DDL. Para recuperar el nombre completo de un objeto que no es de tabla, consulte lo siguiente:

GET_OBJECT_NAME

Para devolver solo una parte del nombre completo, consulte también lo siguiente:

GET_TABLE_NAME_ONLY GET_SCHEMA_NAME_ONLY GET_CATALOG_NAME_ONLY

Los nombres de objetos de base de datos se devuelven exactamente como se definen en la base de datos de alojamiento, incluidas las mayúsculas y minúsculas.

Esta función devuelve un valor sólo si el objeto es una tabla. De lo contrario, el valor actual_length de la variable env_value_def devuelve 0.

Sintaxis

#include "usrdecs.h"
short result_code;
env_value_def env_value;
ERCALLBACK (GET_TABLE_NAME, &env_value, &result_code);

Buffer

typedef struct
{
char *buffer;
long max_length;
long actual_length;
short value_truncated;
short index;
short source_or_target;
} env_value_def;

Entrada

<buffer>

Un puntero a un buffer para aceptar el nombre de tabla devuelto. El nombre de la mesa es nulo.

<max_length>

Longitud máxima del buffer asignado para aceptar el nombre de tabla. Se devuelve como una cadena terminada NULL.

<source_or_target>

Una de las siguientes indicaciones indica si se debe devolver el nombre de la tabla de origen o de destino.

EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL

Salida

<buffer>

Nombre de tabla totalmente cualificado y con terminación nula, por ejemplo, schema.table o catalog.schema.table, según la plataforma de base de datos.

Si la sesión de caracteres de la salida de usuario se define con SET_SESSION_CHARSET en un valor distinto del juego de caracteres por defecto del sistema operativo, como se define en ULIB_CS_DEFAULT en el archivo ucharset.h, el nombre de tabla se interpreta en el juego de caracteres de la sesión.

longitud real

Longitud de cadena del nombre de tabla devuelto. La longitud real no incluye el terminador nulo. La longitud real devuelta es 0 si el objeto no es una tabla.

<value_truncated>

Indicador (0 o 1) que indica si el valor se ha truncado o no. El truncamiento se produce si la longitud del nombre de la tabla más el terminador nulo supera la longitud máxima del buffer.

Valores devueltos

EXIT_FN_RET_INVALID_COLUMN
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_OK