如何在Oracle中创build一个临时表

我想在Oracle数据库中创build一个临时表

就像是

Declare table @table (int id) 

在SQL服务器

而不是用select语句填充它

可能吗?

谢谢

是的,oracle有临时表。 这里是一个AskTom文章的链接描述他们。
这里是正式的oracle 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不同。 你一次性创build它,只有一次,而不是每个会话。 您插入的行仅在您的会话中可见,并在结束会话(或事务结束时,取决于您使用的“ON COMMIT”子句)时自动删除。

 CREATE GLOBAL TEMPORARY TABLE Table_name (startdate DATE, enddate DATE, class CHAR(20)) ON COMMIT DELETE ROWS;