GET_TABLE_NAME_ONLY

Durée de validité

Extraction et réplication

Description

Utilisez la fonction GET_TABLE_NAME_ONLY pour extraire le nom non qualifié (sans le catalogue, le conteneur ou le schéma) de la table source ou cible associée à l'enregistrement en cours de traitement. Cette fonction est valide uniquement pour les tables dans les opérations DML et DDL. Pour extraire le nom non qualifié d'un objet non table, reportez-vous aux sections suivantes :

GET_OBJECT_NAME_ONLY

Pour renvoyer le nom qualifié complet d'une table, reportez-vous aux sections suivantes :

GET_TABLE_NAME

Pour renvoyer d'autres parties du nom de la table, reportez-vous aux sections suivantes :

GET_SCHEMA_NAME_ONLY GET_CATALOG_NAME_ONLY

Les noms d'objet de base de données sont renvoyés exactement tels qu'ils sont définis dans la base de données d'hébergement, y compris la casse des lettres.

Cette fonction renvoie une valeur uniquement si l'objet est une table. Sinon, la valeur actual_length de la variable env_value_def renvoie 0.

Syntaxe

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

Tampon

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

Entrée

<buffer>

Pointeur vers un tampon pour accepter le nom de table renvoyé. Le nom de la table a pour valeur NULL.

<max_length>

Longueur maximale du tampon alloué pour accepter le nom de la table. Cette valeur est renvoyée sous la forme d'une chaîne de fin NULL.

<source_or_target>

L'un des éléments suivants indique si le nom de la table source ou cible doit être renvoyé.

EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL

Sortie

<buffer>

Nom de table qualifié complet avec terminaison NULL, par exemple schema.table ou catalog.schema.table, selon la plate-forme de base de données.

Si la session de caractères de l'exit utilisateur est définie avec SET_SESSION_CHARSET sur une valeur autre que le jeu de caractères par défaut du système d'exploitation, tel que défini dans ULIB_CS_DEFAULT dans le fichier ucharset.h, le nom de table est interprété dans le jeu de caractères de session.

longueur réelle

Longueur de chaîne du nom de table renvoyé. La longueur réelle n'inclut pas le terminateur NULL. La longueur réelle renvoyée est de 0 si l'objet est autre chose qu'une table.

<value_truncated>

Indicateur (0 ou 1) indiquant si la valeur a été tronquée ou non. La troncature se produit si la longueur du nom de la table plus la terminaison NULL dépasse la longueur maximale du tampon.

Valeurs retournées

EXIT_FN_RET_INVALID_COLUMN
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_OK