在Oracle数据库中还有一种类型的表,叫做临时表。这个临时表跟永久表最大的区别就是表中的数据不会永远的存在。当一个会话结束或者事务结束的时候,这个临时表中的数据,不用用户自己删除,数据库自己会自动清除。
我们在创建数据表的时候,若没有特殊的指明,那么我们创建的表是一个永久的关系型表格,也就是说,这个表格中对应的数据,除非是我们显示的删除的话,表中的数据是永远都存在的。相对应的,在Oracle数据库中还有一种类型的表,叫做临时表。这个临时表跟永久表最大的区别就是表中的数据不会永远的存在。当一个会话结束或者事务结束的时候,这个临时表中的数据,不用用户自己删除,数据库自己会自动清除。
1、 事务临时表的管理。
(1) 事务临时表的创建。
Oracle数据库根据临时表的性质不同,可以分为事务临时表与会话临时表。事务临时表是指数据只有在当前事务内有效。一般情况下,如果在创建数据表的时候,没有特殊指明这表是会话临时表的话,则该表默认为事务临时表。
我们可以以下面的语句创建事务临时表。
Create global temporary table Temp_user (ID NUMBER(12) Primary key,name varchar2(10)); |
笔者建议:
这个创建临时表的语句中,虽然没有显性的指明该表是事务临时表,但是,默认的情况下,若没有指明是什么临时表的话,系统默认是事务临时表。我们要创建事务临时表时,可以不指定关键字。但是,这查看起来比较麻烦。我建议,无论在建立什么临时表,都要利用具体的关键字来显形的指明,这大家看起来都方便。一般可以利用ON COMMIT DELETE ROWS关键字来说明该表就是事务性的临时表,而不是会话性质的临时表。
(2) 事务临时表数据的变化分析。
事务临时表的话,当事务结束的时候,就会清空这个事务临时表。所以,当我们在数据库临时表中插入数据后,只要事务没有提交的话,该表中的数据就会存在。但是,当事务提交以后,该表中的数据就会被删除。而且,这个变化不会在重做日志中显示。
具体事务临时表与会话临时表有什么区别,我们在介绍完会话临时表后会详细介绍。
2、 会话临时表的管理。
会话临时表,顾名思义,是指数据只在当前会话内有效的临时表。关闭当前会话或者进行新的连接之后,数据表中的内容就会被清除。那会话临时表跟事务临时表到底有什么区别呢?我们以一个实例来看其中的区别。
(1) 首先,创建一个会话临时表。
CREATE GLOBAL TEMPOPARY TABLE TEMP_USER (ID NUMBER(12) Primary key,name varchar2(10)) ON COMMIT PRESERVE ROWS; |
也就是说,会话临时表跟事务临时表的创建语法大致相同,只有最后的关键字有区别。不过两个表虽然类似,但是其内部的处理机制还是有比较大的区别。
分享到:
相关推荐
### ORACLE数据库学习心得 #### 一、Oracle数据库的特点 Oracle数据库是一款由Oracle公司开发的关系型数据库管理系统。作为全球领先的企业级数据库之一,Oracle具备多种优势特性,使其成为众多企业和组织首选的...
Oracle数据库学习心得 Oracle数据库是当前最流行的关系数据库管理系统之一,它具有强大的功能和高性能。本文将从 Oracle 数据库的特点、总体结构、逻辑结构三个方面对 Oracle 数据库进行详细的介绍。 一、Oracle ...
"Oracle数据库命令个人总结" Oracle数据库命令个人总结是徐博文在2014年3月整理的关于Oracle数据库的命令和心得的...这些命令和心得可以帮助Oracle数据库管理员和开发者更好地使用Oracle数据库,提高工作效率和质量。
本文主要从Oracle的特点、总体结构、内存结构、进程结构以及逻辑结构几个方面来分享学习Oracle数据库的心得。 1. Oracle的特点: Oracle数据库以其卓越的可移植性和兼容性著称。它的代码基于C语言,能够在多种硬件...
Oracle数据库是一种广泛应用于企业级应用中的关系型数据库管理系统,由美国甲骨文公司开发。学习Oracle数据库不仅是软件开发人员的一项重要技能,也是数据库管理员必备的知识。以下是对Oracle数据库的深入解析: 1....
Oracle数据库是全球广泛使用的大型关系型数据库管理系统,对于初学者来说,掌握其基本概念和操作是进入IT行业的关键步骤。本文将围绕"Oracle入门心得"这一主题,详细讲解Oracle体系结构、数据库以及逻辑结构,帮助你...
《太原理工大学Oracle大型数据库实验报告》探讨了Oracle数据库的创建、管理和基础操作,特别是通过实验的方式让学生深入理解数据库的结构、表的构建以及SQL语句的运用。实验旨在提升学生对Oracle 11g数据库系统的...
充分利用内存,优化sga、pga等(11g已经实现了sga+pga自动化,但有的时候仍然需要手动进行调整),适当的将小表keep到cache中。 4.优化sql语句 1)减少对数据库的查询次数,即减少对系统资源的请求,使用快照和显形图...
Oracle 学习心得是一个专业的数据库管理系统,具有可移植性、可联结性等特点。它的总体构造包括文件构造、内存构造和进程构造。文件构造包括五类文件:代码文件、数据文件、日志文件、控制文件和参数文件。内存构造...
在Oracle数据库系统中,"Temp Table"或"临时表"是一种特殊类型的表,主要用于存储临时数据,这些数据只在会话期间存在,并在会话结束时自动删除。Oracle临时表在处理大量中间结果、进行复杂计算或者需要在多个查询...
5. **用户与权限管理**:Oracle通过用户来管理数据库访问,每个用户有自己的默认表空间和临时表空间,并且可以被授予不同级别的权限。 6. **备份与恢复**:Oracle提供了多种备份策略,如物理备份、逻辑备份和RMAN...
- **临时表空间管理**:合理规划和管理临时表空间,确保其大小足够,以避免频繁发生磁盘I/O。 #### 表格和索引存储参数设置的要求总结 - **存储参数的重要性**:正确的存储参数设置对于提高性能至关重要。例如,`...
结构优化:根据应用需求设计数据库,遵循数据库范式,合理使用临时表和视图,使用过程和函数减少网络传输。 b. I/O优化:创建索引,使用分区,避免计算、函数处理索引列,利用存档、快照、视图等功能减少I/O和网络...
+ 创建临时表空间 temp01.dpf + 数字字符集为 ZHS16GBK,国家字符集为 AL16UTF16 + 数据块大小为 4KB * 利用 DBCA 删除数据库(实际不操作) * 在 OEM 和利用 SQL 语句分别创建表 + 创建 Departments 表 + 创建...
### Oracle 实验报告知识点解析 #### 一、Oracle 数据库创建与配置 1. **使用DBCA创建数据库ORADB**: - **工具**: 使用Oracle提供... - 掌握了如何使用角色和权限来管理用户访问, 提高了对Oracle数据库管理的理解。
Oracle数据库是世界上最流行的数据库管理系统之一,它在企业级应用中占据着重要的地位。本文将对“Oracle学习日志总结”中的关键知识点进行深入探讨,帮助读者理解和优化Oracle数据库的使用。 1. **共享SQL和参数化...
《Oracle DBA 日记》是一部记录了一位Oracle数据库管理员(DBA)学习和成长历程的著作,由作者白鳝撰写。书中的日记形式展现了DBA在日常工作中遇到的问题及其解决方案,同时也分享了作者的心得体会。这本书对于想要...