欢迎来到天天文库
浏览记录
ID:61772420
大小:951.00 KB
页数:40页
时间:2021-03-20
《第11章-其他表类型.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、临时表外部表分区表第11章其他表类型本章要点了解临时表的特点。熟练掌握不同类别的临时表的创建和使用。熟练掌握外部表的创建。掌握在创建外部表时可以指定的一些子句。熟练掌握不同类型的分区表的创建。掌握增加分区的不同方法。掌握合并与删除分区的方法。11.1临时表临时表中的数据在特定条件下自动释放。它与普通的数据表一样,只需要一次创建,其结构从创建到删除的整个期间都是有效的(其结构将一直存在)。11.1.1临时表的特点临时表主要有如下特点:临时表只有在用户向表中添加数据时,Oracle才会为其分配存储空间。为临时表分配的
2、空间来自临时表空间,这避免了与永久对象的数据争用存储空间。在临时表中存储数据是以事务或会话为基础的。当用户当前的事务结束或会话终止时,临时表占用的存储空间将被释放,存储的数据也随着丢失。用户可以在临时表上建立索引、视图和触发器等。11.1.2临时表的类别根据临时表中数据被释放的时间不同,临时表分为事务级别的临时表和会话级别的临时表两类。(1)事务级别临时表事务级别临时表中的数据只在事务生命周期中存在。当一个事务结束(提交或者回滚事务),Oracle自动清除该表中的数据。创建事务级别临时表时,需要使用ONCOMMI
3、TDELETEROWS子句。(2)会话级别临时表会话级别临时表中的数据只在会话生命周期之中存在,当用户退出,会话结束的时候,Oracle自动清除临时表中数据。创建会话级别临时表时,需要使用ONCOMMITPRESERVEROWS子句。11.1.3临时表的创建与使用使用CREATEGLOBALTEMPORARYTABLE语句创建临时表使用ONCOMMIT子句说明临时表的类型,默认为事务级别的临时表。11.1.3临时表的创建与使用1.创建事务级别临时表CREATEGLOBALTEMPORARYTABLEtran_te
4、mp(IDNUMBER(2)PRIMARYKEY,nameVARCHAR2(20))ONCOMMITDELETEROWS;2.使用事务级别临时表与普通表的使用方法相同,都可以执行SELECT语句、INSERT语句、UPDATE语句等。示例11.1.3临时表的创建与使用3.创建会话级别临时表CREATEGLOBALTEMPORARYTABLEsess_temp(IDNUMBER(2)PRIMARYKEY,nameVARCHAR2(20))ONCOMMITPRESERVEROWS;4.使用会话级别临时表会话级别的临时
5、表中的数据,当用户退出会话结束时,Oracle自动清除该临时表中的数据。示例11.1.3临时表的创建与使用5.删除临时表使用DROPTABLE语句。删除该表后,该表的相关内容也从user_tables视图中删除。下列语句将删除前面所创建的临时表sess_temp:DROPTABLEsess_temp;11.2外部表外部表是引用在数据库以外的文件系统中存储的数据的只读表,也就是说,外部表所要读取的数据存储在Oracle数据库外部的文件中,并且只能读取这些数据,不能进行数据写入。外部表就像一个视图,允许用户用SQL语
6、句访问外部数据(不需要将数据装载到数据库中)。11.2.1使用外部表读取外部文件创建外部表,需要在CREATETABLE语句中,添加ORGANIZATIONEXTERNAL子句,在该子句中可以指定下面所示的一些选项:TYPE:指定所使用的访问驱动程序,默认访问驱动程序是ORACLE_LOADER。DEFAULTDIRECTORY:指定所使用的目录对象,该目录对象指向外部数据文件所在目录。LOCATION:指定源数据文件。ACCESSPARAMETERS:设置访问驱动程序进行数据格式转换时的参数。FIELDSTER
7、MINATEDBY:指定字段之间的分隔符。11.2.1使用外部表读取外部文件CREATEDIRECTORYexternal_cardAS‘E:external’;CREATETABLEe_card(cardidNUMBER(10),cardnumberCHAR(9),studentidNUMBER(10),registertiemDATE)ORGANIZATIONEXTERNAL(TYPEoracle_loaderDEFAULTDIRECTORYexternal_cardACCESSPARAMETERS(FIE
8、LDSTERMINATEDBY',')LOCATION('card.txt'));说明:在使用外部表的时候,需要先建立目录对象(数据文件所在目录)。11.2.1使用外部表读取外部文件在创建外部表时,可以指定一些子句来对错误进行处理。处理外部表错误的子句包括:REJECTLIMIT:指定在数据类型转换期间允许出现的错误个数BADFILE(或NOBADFILE):如果指定NO
此文档下载收益归作者所有