No Banco de Dados Oracle, existem várias visualizações que podemos consultar para descobrir se existe uma tabela.
Exemplo
Por exemplo,
USER_TABLES
descreve as tabelas relacionais de propriedade do usuário atual. SELECT TABLE_NAME
FROM USER_TABLES
WHERE TABLE_NAME = 'COUNTRIES';
Resultado:
COUNTRIES
Neste exemplo, verifiquei se há uma tabela relacional chamada
COUNTRIES
que pertence ao usuário atual. Poderíamos ajustar esta consulta para retornar apenas a contagem:
SELECT COUNT(TABLE_NAME)
FROM USER_TABLES
WHERE TABLE_NAME = 'COUNTRIES';
Resultado:
1
Nesse caso, o nome da tabela existe e, portanto, a contagem é
1
. Veja o que acontece quando a tabela não existe:
SELECT COUNT(TABLE_NAME)
FROM USER_TABLES
WHERE TABLE_NAME = 'USERS';
Resultado:
0
A tabela a seguir lista outras exibições que contêm informações sobre tabelas no Oracle Database.
Visualizar | Descrição |
---|---|
USER_TABLES | Descreve as tabelas relacionais pertencentes ao usuário atual (esta visualização é usada no exemplo acima). |
ALL_TABLES | Descreve as tabelas relacionais acessíveis ao usuário atual. |
DBA_TABLES | Descreve todas as tabelas relacionais no banco de dados. |
USER_ALL_TABLES | Descreve as tabelas de objetos e tabelas relacionais pertencentes ao usuário atual. |
DBA_ALL_TABLES | Descreve todas as tabelas de objetos e tabelas relacionais no banco de dados. |
ALL_ALL_TABLES | Descreve as tabelas de objetos e tabelas relacionais acessíveis ao usuário atual. |