Oracle临时表,可以有两种类型的临时表:
会话级的临时表
事务级的临时表。
1) 会话级的临时表因为这这个临时表中的数据和你的当前会话有关系,当你当前SESSION不退出的情况下,临时表中的数据就还存在,而当你退出当前SESSION的时候,临时表中的数据就全部没有了,当然这个时候你如果以另外一个SESSION登陆的时候是看不到另外一个SESSION中插入到临时表中的数据的。即两个不同的SESSION所插入的数据是互不相干的。当某一个SESSION退出之后临时表中的数据就被截断(truncate table,即数据清空)了。会话级的临时表创建方法:
Create Global Temporary Table Table_Name
(Col1 Type1,Col2 Type2...) On Commit Preserve Rows;
举例:
create global temporary table Student
(Stu_id Number(5),
Class_id Number(5),
Stu_Name Varchar2(8),
Stu_Memo varchar2(200)) on Commit Preserve Rows ;
2) 事务级临时表是指该临时表与事务相关,当进行事务提交或者事务回滚的时候,临时表中的数据将自行被截断,其他的内容和会 话级的临时表的一致(包括退出SESSION的时候,事务级的临时表也会被自动截断)。事务级临时表的创建方法:
Create Global Temporary Table Table_Name
(Col1 Type1,Col2 Type2...) On Commit Delete Rows;
举例:
create global temporary table Classes
(Class_id Number(5),
Class_Name Varchar2(8),
Class_Memo varchar2(200)) on Commit delete Rows
3) 两中类型临时表的区别
会话级临时表采用on commit preserve rows;而事务级则采用on commit delete rows;用法上,会话级别只有当会话结束临时表中的数据才会被截断,而且事务级临时表则不管是commit、rollback或者是会话结束,临时表中的数据都将被截断
4)什么时候使用临时表
1)、当某一个SQL语句关联的表在2张及以上,并且和一些小表关联。可以采用将大表进行分拆并且得到比较小的结果集合存放在临时表中
2)、程序执行过程中可能需要存放一些临时的数据,这些数据在整个程序的会话过程中都需要用的等等。
5).在使用Oracle临时表的过程中需要注意的事项。
1) 不支持lob对象,这也许是设计者基于运行效率的考虑
2) 不支持主外键关系
3) 不支持物化视图
4) 可以在临时表上创建索引
5) 可以基于临时表创建视图
6) 临时表结构可被导出,但内容不可以被导出
7) 临时表通常是创建在用户的临时表空间中的,不同用户可以有自己的独立的临时表空间
8) 不同的session不可以互相访问对方的临时表数据
9) 临时表数据将不会上DML(Data Manipulation Language)锁
分享到:
相关推荐
Oracle 临时表空间是Oracle...总之,理解并正确使用Oracle临时表空间是确保数据库高效运行的关键。通过对临时表空间的合理配置和管理,可以有效地提升数据库的响应速度,降低系统资源消耗,从而优化整体的数据库性能。
本篇文章将深入探讨如何在Oracle存储过程中使用临时表,包括会话级临时表和事务级临时表。 ### 会话级临时表 会话级临时表(Session-Level Temporary Tables)只在创建它的会话内可见,并且在会话结束时自动删除。...
使用临时表的注意事项 使用临时表时需要注意以下几点: * 临时表应该在应用程序安装时创建,而不是在运行时创建。 * 在存储过程中创建临时表不是正确的方法,因为 DDL 操作非常耗费资源。 * 临时表应该在应用程序...
根据数据的生命周期,Oracle临时表可以分为两大类:事务临时表和会话临时表。 ##### 1. 事务临时表 - **定义**:事务临时表中的数据仅在当前事务的生命周期内有效。一旦事务结束(通过提交或回滚),表中的所有...
Oracle临时表是数据库管理系统中的一种特殊表,它主要用于在会话期间存储临时数据,供当前会话使用。这种表在会话结束时会被自动删除,不会永久保存在数据库中,因此,它们对于处理大量中间结果或者进行复杂计算的...
### Oracle特性临时表详解 #### 一、临时表概述 在Oracle数据库中,临时表是一种特殊类型的表,它主要用于存储那些仅对当前会话或事务有意义的数据。与普通表不同的是,临时表的数据不会持久化存储,而是根据特定...
以下是一些重要的优化策略和注意事项: 1. **避免语法分析重复**:尽量保持SQL语句的标准化,避免因书写格式不同而进行多次语法分析,这会增加解析开销。 2. **使用绑定变量**:共享SQL语句,使用绑定变量而非常量...
当Oracle数据库执行涉及排序、连接等操作时,会使用临时表空间来存储临时数据。如果这些操作所需的空间超过了临时表空间的可用空间,就会引发ORA-01652错误。 #### 二、ORA-01652 错误分析 ##### 1. 错误现象 当...
**注意事项:** - 在删除外部表时,应先删除外部表本身,然后才能删除目录对象。 - 不同的操作系统平台对文件格式有不同的解释方式,如在Linux下创建的文件可能在Windows下打开时出现异常。因此,建议在相同的操作...
在提供的压缩包文件中,"Oracle-style-global-temporary-tables-for-PostgreSQL.pdf"可能包含详细的文档,解释了如何在PostgreSQL中设置和使用这种全局临时表的实现方法,包括其语法、用法示例以及可能的注意事项。...
在Oracle数据库系统中,"Temp Table"或"临时表"是一种特殊类型的表,主要用于存储临时数据,这些数据只在...通过文档《复件 Oracle临时表用法的经验心得.doc》,你可以深入学习更多关于Oracle临时表的实际应用和技巧。
### Oracle数据库创建表空间、建立用户、授权...通过以上步骤和注意事项,我们可以有效地在Oracle数据库中进行表空间的管理、用户创建及权限设置,以及数据的备份和恢复操作。这对于确保数据的安全性和完整性至关重要。
以下是一些关于“重装Oracle的注意事项”的详细阐述,旨在帮助用户顺利进行重装过程,避免可能出现的问题。 1. **备份数据**:在进行任何重装操作前,最重要的是确保所有重要数据已备份。这包括数据库实例、表空间...
在实际操作中,由于各种原因,可能会遇到一些问题,下面将详细讨论在使用exp/imp时需要注意的事项。 首先,当数据库对象已经存在时,如果直接进行导入,可能会导致冲突。默认情况下,如果目标数据库中已有相同名称...
- **创建和使用临时表空间**:处理临时数据,避免占用永久表空间。 4. **ORACLE表空间回收脚本** - `ORACLE表空间的回收脚本.sql`很可能是执行上述操作的SQL命令集合。例如,它可能包括以下内容: - `ALTER ...
9. **安全注意事项**: 为了保持数据库的安全性,避免使用过于简单的密码,并定期更新用户密码。同时,谨慎授予用户权限,只给予完成工作所需的权利。 以上就是在Linux环境下,使用Oracle数据库创建用户和表空间的...
### Oracle 创建表空间知识点 #### 一、Oracle 表空间概念 ...通过上述内容的学习,我们可以了解到在Oracle数据库中创建表空间的基本方法和注意事项。这对于数据库管理员来说是非常重要的技能之一。
优化查询语句和索引的设置,同时为临时表空间保留足够的硬盘空间,是维护临时表空间时需要特别注意的事项。 3. 删除表空间:在某些情况下,可能需要删除不再需要的表空间。这涉及到对表空间中的所有数据对象进行删除...