3 ответов:
Да, у Oracle есть временные таблицы. Вот ссылка на AskTom статья, описывающая их и здесь является официальной документацией oracle CREATE TABLE.
однако, в Oracle, только сведения во временной таблице является временным. Таблица является обычным объектом, видимым для других сеансов. Это плохая практика, чтобы часто создавать и удалять временные таблицы в Oracle.
CREATE GLOBAL TEMPORARY TABLE today_sales(order_id NUMBER) ON COMMIT PRESERVE ROWS;
Oracle 18c добавлен private временные таблицы, которые имеют один-сессии в памяти объектов. Смотрите документация для более подробной информации. Частные временные таблицы можно динамически создавать и удалять.
CREATE PRIVATE TEMPORARY TABLE ora$ptt_today_sales AS SELECT * FROM orders WHERE order_date = SYSDATE;
временные таблицы могут быть полезны, но они обычно злоупотребляют в Oracle. Их часто можно избежать, объединив несколько шагов в один оператор SQL с помощью встроенных представлений.
просто совет.. Временные таблицы в Oracle отличаются от SQL Server. Вы создаете его один раз и только один раз, а не каждый сеанс. Строки, которые вы вставляете в него, видны только для вашего сеанса и автоматически удаляются (т. е.
TRUNCATE, а неDROP) когда вы заканчиваете сеанс ( или конец транзакции, в зависимости от того, какое предложение "on COMMIT" вы используете).
CREATE GLOBAL TEMPORARY TABLE Table_name (startdate DATE, enddate DATE, class CHAR(20)) ON COMMIT DELETE ROWS;
Comments