Оператор TABLE в Oracle SQL: как работать с таблицами, представлениями и коллекциями

🟢 Введение

Ключевое слово TABLE в Oracle SQL используется:

  1. В DDL-командах — при создании или удалении таблиц

  2. В запросах — для обращения к коллекциям и табличным функциям

  3. В системных представлениях — чтобы описать структуру таблиц

Чаще всего новички сталкиваются с TABLE в контексте CREATE TABLE, но у него есть и продвинутые применения, которые тоже важно понимать.


🔤 Написание

Примеры базового использования:

sql
CREATE TABLE имя_таблицы (...); -- создаёт таблицу
DROP TABLE имя_таблицы; -- удаляет таблицу

В PL/SQL:

sql
SELECT * FROM TABLE(табличная_функция(...)); -- обращение к коллекции как к таблице

🔄 Где часто используется

  • В CREATE TABLE — при создании новой таблицы

  • В DROP TABLE — при удалении

  • В TABLE() — для извлечения данных из коллекции

  • В системных запросах: ALL_TABLES, USER_TABLES, DBA_TABLES


🧪 10 Примеров использования TABLE с пояснениями

1️⃣ Создание таблицы

sql
CREATE TABLE employees (
employee_id NUMBER PRIMARY KEY,
first_name VARCHAR2(50),
department_id NUMBER
);

Создание новой таблицы сотрудников.


2️⃣ Удаление таблицы

sql
DROP TABLE employees;

Полностью удаляет таблицу и её данные.


3️⃣ Создание временной таблицы

sql
CREATE GLOBAL TEMPORARY TABLE temp_data (
session_id NUMBER,
data_value VARCHAR2(100)
) ON COMMIT DELETE ROWS;

Таблица живёт только в рамках сессии.


4️⃣ Использование TABLE() с коллекцией (в PL/SQL)

sql
SELECT * FROM TABLE(my_nested_table);

Работа с коллекцией как с обычной таблицей.


5️⃣ TABLE() с табличной функцией

sql
SELECT * FROM TABLE(get_active_employees());

Извлечение данных из пользовательской функции.


6️⃣ Проверка существующих таблиц

sql
SELECT table_name FROM user_tables;

Получаем список всех таблиц текущего пользователя.


7️⃣ Анализ структуры таблицы

sql
DESC employees;

Показывает столбцы, типы данных и ограничения.


8️⃣ Создание таблицы из другой таблицы

sql
CREATE TABLE employees_copy AS
SELECT * FROM employees;

Создаёт копию таблицы с текущими данными.


9️⃣ TABLE в выражении с JOIN (табличная функция)

sql
SELECT d.department_name, e.*
FROM departments d,
TABLE(get_employees_by_dept(d.department_id)) e;

Работа с функцией, возвращающей таблицу.


🔟 TABLE в системной информации (метаданные)

sql
SELECT table_name, status
FROM all_tables
WHERE owner = 'HR';

Получаем информацию о таблицах схемы HR.


🧩 Заключение

TABLE — это не просто часть CREATE TABLE, это ключевое слово с множественными ролями: создание, удаление, обращение к коллекциям, просмотр системных таблиц.
Зная, как работает TABLE, вы сможете уверенно оперировать структурами базы данных и писать более продвинутые запросы.


🔜 Следующая статья:

Оператор PRIMARY в Oracle SQL — как задать основной ключ таблицы

Понравилась статья? Поделиться с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии