- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 其他表类型 本章要点: 了解临时表的特点。 熟练掌握不同类别的临时表的创建和使用。 熟练掌握外部表的创建。 掌握在创建外部表时可以指定的一些子句。 熟练掌握不同类型的分区表的创建。 掌握增加分区的不同方法。 掌握合并与删除分区的方法。 11.1 临 时 表 在Oracle数据库中,临时表是“静态”的,它与普通的数据表一样,只需要一次创建。 其结构从创建到删除的整个期间都是有效的。 11.1.1 临时表的特点 临时表主要有如下特点: 临时表只有在用户向表中添加数据时,Oracle才会为其分配存储空间。 为临时表分配的空间来自临时表空间,这避免了与永久对象的数据争用存储空间。 在临时表中存储数据是以事务或会话为基础的。当用户当前的事务结束或会话终止时,临时表占用的存储空间将被释放,存储的数据也随着丢失。 与堆表一样,用户可以在临时表上建立索引、视图和触发器等。 11.1.2 临时表的类别 由于临时表中存储的数据只在当前事务处理或者会话进行期间有效,因此临时表主要分为两种——事务级别临时表和会话级别临时表,说明如下。 (1) 事务级别临时表 事务级别临时表是指临时表中的数据只在事务生命周期中存在。当一个事务结束(提交或者回滚事务),Oracle自动清除临时表中的数据。 创建事务级别临时表时,需要使用ON COMMIT DELETE ROWS子句。 (2) 会话级别临时表 会话级别临时表是指临时表中的数据只在会话生命周期之中存在,当用户退出,会话结束的时候,Oracle自动清除临时表中数据。 创建会话级别临时表时,需要使用ON COMMIT PRESERVE ROWS子句。 11.1.3 临时表的创建与使用 1.创建事务级别临时表 创建临时表时,如果指定ON COMMIT DELETE ROWS子句,则表示创建的临时表是事物级别临时表。语法如下: CREATE GLOBAL TEMPORARY TABLE table_name ( column_name data_type , [column_name data_type , ... ] )ON COMMIT DELETE ROWS; 2.使用事务级别临时表 临时表的使用方法与堆表的使用方法相同,都可以执行SELECT语句、INSERT语句等。接下来使用前面创建的临时表temp_student执行相应的操作。 11.1.3 临时表的创建与使用 3.创建会话级别临时表 在创建临时表时,如果指定ON COMMIT PRESERVE ROWS子句,则表示创建的临时表是会话级别临时表。语法如下: CREATE GLOBAL TEMPORARY TABLE table_name ( column_name data_type , [column_name data_type , ... ] )ON COMMIT PRESERVE ROWS; 4.使用会话级别临时表 会话级别的临时表中的数据,当用户退出会话结束时,Oracle自动清除该临时表中的数据。接下来使用前面创建的临时表temp_book执行相应的操作。 11.1.3 临时表的创建与使用 5.删除临时表 删除临时表的操作和删除堆表的操作是一样的,都是使用DROP TABLE语句。删除该表后,该表的相关内容也从user_tables视图中删除。 【例11.5】删除前面所创建的临时表temp_student,如下: SQL DROP TABLE temp_student; 表已删除。 11.2 外 部 表 外部表是引用在数据库以外的文件系统中存储的数据的只读表,也就是说,外部表所要读取的数据存储在Oracle数据库外部的文件中,并且只能读取这些数据,不能进行数据写入。 11.2.1 使用外部表读取外部文件 创建外部表,需要在CREATE TABLE语句中,添加ORGANIZATION EXTERNAL子句,在该子句中可以指定下面所示的一些选项: TYPE:用来指定访问外部表数据文件时所使用的访问驱动程序,该程序可以将数据从它们最初的格式转换为可以向服务器提供的格式。Oracle提供的默认访问驱动程序是ORACLE_LOADER。 DEFAULT DIRECTORY:用来指定所使用的目录对象,该目录对象指向外部数据文件所在目录。 LOCATION:用来指定源数据文件。 ACCESS PARAMETERS:用来设置访问驱动程序进行数据格式转换时的参数。 FIELDS TERMINATED BY:用来指定字段之间的分隔符。 11.2.1 使用外部表读取外部文件 【例11.6】下面将实现外部表读取外部文件的操作。 (1) 使用外部表对外部文件执行读取操作之前,首先创建外部文件。在操作系统目录E:\extern
文档评论(0)