GET_TABLE_NAME

Valido per

Estrai e Replicat

Descrizione

Utilizzare la funzione GET_TABLE_NAME per recuperare il nome completamente qualificato della tabella di origine o di destinazione associata al record in fase di elaborazione. Questa funzione è valida solo per le tabelle nelle operazioni DML e DDL. Per recuperare il nome completo di un oggetto non da tavolo, vedere:

GET_OBJECT_NAME

Per restituire solo una parte del nome completamente qualificato, vedere anche quanto segue:

GET_TABLE_NAME_ONLY GET_SCHEMA_NAME_ONLY GET_CATALOG_NAME_ONLY

I nomi degli oggetti di database vengono restituiti esattamente come sono definiti nel database di hosting, inclusa la lettera maiuscola.

Questa funzione restituisce un valore solo se l'oggetto è una tabella. Altrimenti, il valore actual_length della variabile env_value_def restituisce 0.

Sintassi

#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;

Input

<buffer>

Un puntatore a un buffer per accettare il nome della tabella restituito. Nome tabella con terminazione nulla.

<max_length>

La lunghezza massima del buffer allocato per accettare il nome della tabella. Viene restituito come stringa terminata NULL.

<source_or_target>

Una delle seguenti opzioni indica se restituire il nome della tabella di origine o di destinazione.

EXIT_FN_SOURCE_VAL
EXIT_FN_TARGET_VAL

Output

<buffer>

Il nome della tabella completamente qualificato con terminazione nulla, ad esempio schema.table o catalog.schema.table, a seconda della piattaforma di database.

Se la sessione di caratteri dell'uscita utente viene impostata con SET_SESSION_CHARSET su un valore diverso dal set di caratteri predefinito del sistema operativo, come definito in ULIB_CS_DEFAULT nel file ucharset.h, il nome della tabella viene interpretato nel set di caratteri della sessione.

lunghezza effettiva

Lunghezza stringa del nome tabella restituito. La lunghezza effettiva non include il terminatore nullo. La lunghezza effettiva restituita è 0 se l'oggetto è diverso da una tabella.

<value_truncated>

Flag (0 o 1) che indica se il valore è stato troncato o meno. La troncatura si verifica se la lunghezza del nome della tabella più il terminatore nullo supera la lunghezza massima del buffer.

Valori restituiti

EXIT_FN_RET_INVALID_COLUMN
EXIT_FN_RET_INVALID_CONTEXT
EXIT_FN_RET_INVALID_PARAM
EXIT_FN_RET_OK