BASE_TABLE função de tabela

A função BASE_TABLE retorna tanto o nome do objeto como o nome do esquema do objeto encontrado após alguma cadeia de alias ter sido resolvida.

Read syntax diagramSkip visual syntax diagramBASE_TABLE(objectschema ,objectname )

O esquema é SYSPROC.

O objectname (e objectschema) especificado são usados como ponto de partida da resolução. Se o ponto inicial não se referir a um alias, retornam o nome do esquema e o nome não qualificado do ponto de partida. A função retorna uma única tabela de linhas consistindo nas colunas a seguir:

Tabela 1. Informações retornadas pela função BASE_TABLE
Nome da coluna Tipo de dados Descrição
ESQUEMA BÁSICO VARCHAR(128) Nome do esquema do objeto encontrado após quaisquer cadeias de alias foram resolvidas. Corresponde a objetschema se nenhum alias de correspondência foi encontrado.
basename VARCHAR(128) Nome não qualificado do objeto encontrado após quaisquer cadeias de alias foram resolvidas. Corresponde a objectname se nenhum alias de correspondência foi encontrado. O nome pode identificar uma tabela, uma visualização ou um objeto indefinido.
esquema de objetos
Uma expressão de caracteres representando o esquema usado para qualificar o valor fornecido objectname antes da resolução. objectschema deve ter um tipo de dado de CHAR ou VARCHAR e um comprimento maior que 0 e menor que 129 bytes.
nome do objeto
Uma expressão de caracteres representando o nome não qualificado a ser resolvido. objectname deve ter um tipo de dado de CHAR ou VARCHAR e um comprimento maior que 0 e menor que 129 bytes.
Nota: A função de tabela BASE_TABLE melhora o desempenho em configurações de banco de dados particionados, evitando a comunicação desnecessária que ocorre entre a partição do coordenador e a partição do catálogo ao utilizar as funções escalares TABLE_SCHEMA e TABLE_NAME.

Exemplo

A instrução a seguir utilizando as funções TABLE_SCHEMA e TABLE_NAME é escrita como:

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

A instrução equivalente usando a função BASE_TABLE pode ser escrita como:

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