Oracle中的临时表、外部表和分区表
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle中的临时表、外部表和分区表,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2432字,纯文字阅读大概需要4分钟。
内容图文
在Oracle中,临时表是ldquo;静态rdquo;的,它与普通的数据表一样只需要一次创建,其结构从创建到删除的整个期间都是有效的。相
临时表
在Oracle中,临时表是“静态”的,它与普通的数据表一样只需要一次创建,其结构从创建到删除的整个期间都是有效的。相对于其他类型的表,临时表只有在用户实际向表中添加数据时,才会为其分配空间,并且分配的空间来自临时表空间。这就避免了与永久对象的数据争用存储空间。
创建临时表的语法如下:
table_name( column_name data_type,[column_name data_type,...] )|PRESERVE ROWS;由于临时表存储的数据只在当前事务处理或者会话进行期间有效
因此,临时表分为事务级临时表和会话级临时表。
创建事务级临时表,需要使用ON COMMIT DELETE ROWS子句,事务级临时表的记录在每次提交事务后被自动删除。
例1:
tbl_user_transcation( ID ; 会话级临时表创建会话级临时表,需要使用ON COMMIT PRESERVE ROWS子句,会话级临时表的记录在用户与服务器断开连接后被自动删除。
例2:
tbl_user_session( ID ; 操作临时表对事务级临时表插入一条数据但不COMMIT事务:
* FROM tbl_user_transcation;此时,查询结果如下:
1 siege M 28/02/1991
若进行了COMMIT,则此时表中无数据,说明Oracle已经将数据删除了。
对事务级临时表插入一条数据:
* FROM tbl_user_session; COMMIT;此时即使提交了事务,tbl_user_session 中仍有数据。
此时当关闭session后(断开数据库连接),再连接数据库,查询时则无数据了。
注:在PL/SQL Developer默认配置为打开一个窗口,即重新建立一个session,因此要注意设置共享session,
外部表外部表是Oracle提供的、可读取操作系统的文件系统中存储的数据的一种只读表。外部表中的数据存储在操作系统的文件系统中,只能读,不能修改。
创建外部表先以SYSDBA身份登录,授予用户相关权限:
DIRECTORY TO siege;然后以用户身份登录创建目录:
CREATE DIRECTORY external_student AS 'D:\';最后创建外部表:
例3:
) LOCATION ('student.csv') )注:外部的D盘下的文件student.csv如下所示:
10001,siege,304,physics,80
查询tbl_external_student与上述显示一致。
分区表在大型数据库应用中,需要处理的数据量甚至可以达到TB级。为了提高读写和查询速度,Oracle提供了一种分区技术,用户可以在创建表时应用分区技术,将数据以分区形式保存。
分区是指将表或索引分隔成相对较小的、可独立管理的部分。分区后的表与未分区的表在执行DML语句时没有任何区别。
对表进行分区,必须为表中的每一条记录指定所属分区。一条记录属于哪一个分区是由分区表对该记录的匹配字段决定的。分区字段可以是表中的一个字段或者多个字段的组合,在创建分区表时决定的。当用户对分区表进行插入、更新或者删除时,Oracle会自动根据分区字段的值来选择存储的分区。
本文永久更新链接地址:
,内容总结
以上是互联网集市为您收集整理的Oracle中的临时表、外部表和分区表全部内容,希望文章能够帮你解决Oracle中的临时表、外部表和分区表所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。