В Oracle Database има редица изгледи, които можем да потърсим, за да разберем дали съществува таблица.
Пример
Например, USER_TABLES
описва релационните таблици, притежавани от текущия потребител.
SELECT TABLE_NAME
FROM USER_TABLES
WHERE TABLE_NAME = 'COUNTRIES';
Резултат:
COUNTRIES
В този пример проверих дали има релационна таблица, наречена COUNTRIES
която е собственост на текущия потребител.
Бихме могли да коригираме тази заявка, за да върне само броя:
SELECT COUNT(TABLE_NAME)
FROM USER_TABLES
WHERE TABLE_NAME = 'COUNTRIES';
Резултат:
1
В този случай името на таблицата съществува и така броят е 1
.
Ето какво се случва, когато таблицата не съществува:
SELECT COUNT(TABLE_NAME)
FROM USER_TABLES
WHERE TABLE_NAME = 'USERS';
Резултат:
0
Следната таблица изброява други изгледи, които съдържат информация за таблици в Oracle Database.
Преглед | Описание |
---|---|
USER_TABLES | Описва релационните таблици, притежавани от текущия потребител (този изглед се използва в горния пример). |
ALL_TABLES | Описва релационните таблици, достъпни за текущия потребител. |
DBA_TABLES | Описва всички релационни таблици в базата данни. |
USER_ALL_TABLES | Описва таблиците с обекти и релационните таблици, притежавани от текущия потребител. |
DBA_ALL_TABLES | Описва всички таблици с обекти и релационни таблици в базата данни. |
ALL_ALL_TABLES | Описва таблиците с обекти и релационните таблици, достъпни за текущия потребител. |