本篇文章为大家展示了oracle中怎么创建外部表,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

oracle db允许以只读的形式查询外部表。外部表可以存储在任何oracle db可以读取的存储设备中,其内容不在db中保存,db只保存external table的metadata,db可以查询(join、sort)external table,可以创建view、synonym,但不可以执行DML语句。

创建外部表语法create table ......orginzition external,可以把外部表假想为一个view,可以正常的做select。

analyze 和 虚拟列 表分析不使用与外部表

创建外部表语法

外部表文件:

example1.txt

360,Jane,Janus,ST_CLERK,121,17-MAY-2001,3000,0,50,jjanus
361,Mark,Jasper,SA_REP,145,17-MAY-2001,8000,.1,80,mjasper
362,Brenda,Starr,AD_ASST,200,17-MAY-2001,5500,0,10,bstarr
363,Alex,Alda,AC_MGR,145,17-MAY-2001,9000,.15,80,aalda
example2.txt
401,Jesse,Cromwell,HR_REP,203,17-MAY-2001,7000,0,40,jcromwel
402,Abby,Applegate,IT_PROG,103,17-MAY-2001,9000,.2,60,aapplega
403,Carol,Cousins,AD_VP,100,17-MAY-2001,27000,.3,90,ccousins
404,John,Richardson,AC_ACCOUNT,205,17-MAY-2001,5000,0,110,jrichard

创建外部表oracle可识别路径:

SQL>conn/assysdbaSQL>createdirectoryexternal_diras'/u01/app/oracle/oradata/external';Directorycreated.SQL>grantread,writeondirectoryexternal_dirtokevin;Grantsucceeded.

外部表的使用用户kevin,创建外部表

SQL>CREATETABLEex_employees2(employee_idNUMBER(4),3first_nameVARCHAR2(20),4last_nameVARCHAR2(25),5job_idVARCHAR2(10),6manager_idNUMBER(4),7hire_dateDATE,8salaryNUMBER(8,2),9commission_pctNUMBER(2,2),10department_idNUMBER(4),11emailVARCHAR2(25)12)13ORGANIZATIONEXTERNAL14(15TYPEORACLE_LOADER16DEFAULTDIRECTORYexternal_dir17ACCESSPARAMETERS18(19recordsdelimitedbynewline20badfileexternal_dir:'empxt%a_%p.bad'21logfileexternal_dir:'empxt%a_%p.log'22fieldsterminatedby','23missingfieldvaluesarenull24(employee_id,first_name,last_name,job_id,manager_id,25hire_datechardate_formatdatemask"dd-mon-yyyy",26salary,commission_pct,department_id,email27)28)29LOCATION('example1.txt','example2.txt')30)31PARALLEL32REJECTLIMITUNLIMITED;Tablecreated.

创建完成后可以可以通过cats把数据导入至数据库的表中,如果数据比较多,可以开启session level parallel导入

altersessionenableparallel;createtableemployeeasselect*fromex_employee;EMPLOYEE_IDFIRST_NAMELAST_NAMEJOB_IDMANAGER_IDHIRE_DATESALARYCOMMISSION_PCTDEPARTMENT_IDEMAIL---------------------------------------------------------------------------------------------------------------------------------------------------360JaneJanusST_CLERK12117-MAY-013000050jjanus361MarkJasperSA_REP14517-MAY-018000.180mjasper362BrendaStarrAD_ASST20017-MAY-015500010bstarr363AlexAldaAC_MGR14517-MAY-019000.1580aalda401JesseCromwellHR_REP20317-MAY-017000040jcromwel402AbbyApplegateIT_PROG10317-MAY-019000.260aapplega403CarolCousinsAD_VP10017-MAY-0127000.390ccousins404JohnRichardsonAC_ACCOUNT20517-MAY-0150000110jrichard10rowsselected.

上述内容就是oracle中怎么创建外部表,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。