GET_TABLE_NAME_ONLY

Valido per

Estrai e Replicat

Descrizione

Utilizzare la funzione GET_TABLE_NAME_ONLY per recuperare il nome non qualificato (senza catalogo, contenitore o schema) 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 non qualificato di un oggetto non da tavolo, vedere:

GET_OBJECT_NAME_ONLY

Per restituire il nome completo di una tabella, vedere:

GET_TABLE_NAME

Per restituire altre parti del nome della tabella, vedere:

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. In caso contrario, 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_ONLY, &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 nullo terminato.

<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