Oracle
 sql >> Base de données >  >> RDS >> Oracle

Vérifier si une table existe dans Oracle

Dans Oracle Database, il existe un certain nombre de vues que nous pouvons interroger pour savoir si une table existe.

Exemple

Par exemple, USER_TABLES décrit les tables relationnelles appartenant à l'utilisateur actuel.

SELECT TABLE_NAME 
FROM USER_TABLES 
WHERE TABLE_NAME = 'COUNTRIES';

Résultat :

COUNTRIES

Dans cet exemple, j'ai vérifié s'il existe une table relationnelle appelée COUNTRIES qui appartient à l'utilisateur actuel.

Nous pourrions ajuster cette requête pour ne renvoyer que le nombre :

SELECT COUNT(TABLE_NAME)
FROM USER_TABLES 
WHERE TABLE_NAME = 'COUNTRIES';

Résultat :

1

Dans ce cas, le nom de la table existe et le nombre est donc 1 .

Voici ce qui se passe lorsque la table n'existe pas :

SELECT COUNT(TABLE_NAME)
FROM USER_TABLES 
WHERE TABLE_NAME = 'USERS';

Résultat :

0

Le tableau suivant répertorie d'autres vues contenant des informations sur les tables d'Oracle Database.

Afficher Description
USER_TABLES Décrit les tables relationnelles appartenant à l'utilisateur actuel (cette vue est utilisée dans l'exemple ci-dessus).
ALL_TABLES Décrit les tables relationnelles accessibles à l'utilisateur actuel.
DBA_TABLES Décrit toutes les tables relationnelles de la base de données.
USER_ALL_TABLES Décrit les tables d'objets et les tables relationnelles appartenant à l'utilisateur actuel.
DBA_ALL_TABLES Décrit toutes les tables d'objets et les tables relationnelles de la base de données.
ALL_ALL_TABLES Décrit les tables d'objets et les tables relationnelles accessibles à l'utilisateur actuel.