SQLServer的存储过程中,可以通过'#+表名'的方式定义临时表,用于存放中间结果。这样的临时表只能本会话中使用,会话结束后,临时表会被自动删除(drop)掉。
而ORACLE的临时表却不是这个概念,它基于全局,不同的会话能使用同一个临时表,临时表不会自动drop。我的疑问是,ORACLE怎么实现SQLServer临时表的用法?难道只能显式的创建和删除?感觉ORACLE中通过存储过程做报表没有SQLServer方便,不知道大家有没有什么简单的方法。
而ORACLE的临时表却不是这个概念,它基于全局,不同的会话能使用同一个临时表,临时表不会自动drop。我的疑问是,ORACLE怎么实现SQLServer临时表的用法?难道只能显式的创建和删除?感觉ORACLE中通过存储过程做报表没有SQLServer方便,不知道大家有没有什么简单的方法。
解决方案 »
- ORA-00979: not a GROUP BY expression
- MYSQL表锁问题
- 我的数据库里有个基表表名叫a,在写一个sql语句时能不能写TN_PRODUCTS as a, (TN_PRODUCTS也是个表)
- 一个insert的小问题
- Help!如何获得给定时间段内每周采购次数多于2次的客户id?
- 求一个sql语句~~
- ORACLE客户端连接远程主机的问题
- 一个oracle数据库备份的批处理文件如何写?急??????
- 问个简单问题!!!!!!!!!!!!
- Oracle数据库之间同步问题
- 做select时,从oracle取出的数据如何与变量做比较呢?
- 你确定 LENGTH('中国') = 2吗?
...
)ON COMMIT {DELETE | PRESERVE } ROWS ;Oracle中的临时表有两种
一种是事务级别的临时表它在事务结束的时候自动清空记录:ON COMMIT DELETE ROWS
另一种是会话级的它在我们访问数据库是的一个会话结束后自动的清空:ON COMMIT PRESERVE ROWS