Я хотел бы создать временную таблицу в базе данных Oracle
что-то вроде
Declare table @table (int id)
В SQL Server
И чем заполнить его с помощью оператора select
Возможно ли это?
Спасибо
Да, оракул имеет временные таблицы. Ниже приведена ссылка на статью AskTom, описывающую их.
И здесь является официальной документацией CREATE TABLE оракула (прокрутите вниз до раздела CREATE GLOBAL TEMPORARY)
И пример:
CREATE GLOBAL TEMPORARY TABLE today_sales
ON COMMIT PRESERVE ROWS
AS SELECT * FROM orders WHERE order_date = SYSDATE;
Просто подсказка.. Временные таблицы в Oracle отличаются от SQL Server. Вы создаете его ОДИН РАЗ и только один раз, а не каждую сессию. Строки, которые вы вставляете в него, видны только для вашего сеанса и автоматически удаляются, когда вы заканчиваете сеанс (или конец транзакции, в зависимости от того, какое предложение ON COMMIT вы используете).
DELETED
, а не DROP
пед.
CREATE GLOBAL TEMPORARY TABLE Table_name
(startdate DATE,
enddate DATE,
class CHAR(20))
ON COMMIT DELETE ROWS;
ON COMMIT DELETE ROWS
означает, что они будут отброшены раньше, если вы делаете коммит постепенно во время сеанса.