如何在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;