Función de tabla BASE_TABLE

La función BASE_TABLE devuelve el nombre de objeto y el nombre de esquema del objeto encontrado después de que se haya resuelto cualquier cadena de alias.

Leer el esquema de sintaxisOmitir el esquema de sintaxis visualBASE_TABLE(esquemaobjeto ,nombre_objeto )

El esquema es SYSPROC.

El "nombreobjeto", y el "nombreesquema", especificados se utilizan como punto de inicio de la resolución. Si el punto de inicio no hace referencia a un alias, se devuelven el nombre de esquema y el nombre no calificado del punto de inicio. La función devuelve una única tabla de filas que consta de las columnas siguientes:

Tabla 1. Información devuelta por la función BASE_TABLE
Nombre de columna Tipo de datos Descripción
BASESCHEMA VARCHAR(128) Nombre de esquema del objeto encontrado después de resolver cualquier cadena de alias. Coincide con "esquemaobjeto" si no se encuentra ningún alias coincidente.
BASENAME VARCHAR(128) Nombre no calificado del objeto encontrado después de resolver cualquier cadena de alias. Coincide con "nombreobjeto" si no se encuentra ningún alias coincidente. El nombre puede identificar una tabla, una vista o un objeto no definido.
esquemaobjeto
Una expresión de caracteres que representa el esquema utilizado para calificar el valor del nombreobjeto suministrado antes de la resolución. El tipo de datos de esquemaobjeto debe ser CHAR o VARCHAR y su longitud ser mayor que 0 y menor que 129 bytes.
nombreobjeto
Una expresión de caracteres que representa el nombre no calificado que debe resolverse. El tipo de datos de nombreobjeto debe ser CHAR o VARCHAR y su longitud ser mayor que 0 y menor que 129 bytes.
Nota: La función de tabla BASE_TABLE mejora el rendimiento en configuraciones de bases de datos particionadas al evitar la comunicación innecesaria que se produce entre la partición coordinadora y la partición de catálogo cuando se utilizan las funciones escalares TABLE_SCHEMA y TABLE_NAME.

Ejemplo

La siguiente sentencia utilizando las funciones TABLE_SCHEMA y TABLE_NAME se escribe del modo siguiente:

SELECT COLCOUNT INTO :H00030
FROM SYSCAT.TABLES
WHERE OWNER = TABLE_SCHEMA(:H00031 ,:H00032 )
AND TABNAME = TABLE_NAME(:H00031 ,:H00032 )

La sentencia equivalente utilizando la función BASE_TABLE se puede escribir del modo siguiente:

SELECT COLCOUNT INTO :H00030
FROM SYSCAT.TABLES A, TABLE(SYSPROC.BASE_TABLE(:H00032, :H00031)) AS B
WHERE A.OWNER = B.BASESCHEMA
AND A.TABNAME = B.BASENAME