Les20_chinese(Oracle公司内部数据库培训资料)ppt课件_第1页
Les20_chinese(Oracle公司内部数据库培训资料)ppt课件_第2页
Les20_chinese(Oracle公司内部数据库培训资料)ppt课件_第3页
Les20_chinese(Oracle公司内部数据库培训资料)ppt课件_第4页
Les20_chinese(Oracle公司内部数据库培训资料)ppt课件_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,Oracle9i对DML和DDL语句的扩展,目标,通过本章学习,您将可以:描述多表插入的特点使用不同类型的多表插入无条件的INSERT旋转INSERT有条件的ALLINSERT有条件的FIRSTINSERT创建和使用外部表创建主键约束的同时创建索引,INSERT语句,使用INSERT语句向表中插入新的数据使用上面的语句每次只能向表中插入一行数据,INSERTINTOtable(column,column.)VALUES(value,value.);,INSERTINTOdepartments(department_id,department_name,manager_id,location_id)VALUES(70,PublicRelations,100,1700);1rowcreated.,UPDATE语句,使用UPDATE语句更新表中的数据使用上面的语句每次可更新表中的一行或多行数据使用WHERE子句指定更新的条件,UPDATEtableSETcolumn=value,column=value,.WHEREcondition;,UPDATEemployeesSETdepartment_id=70WHEREemployee_id=142;1rowupdated.,多表INSERT语句,INSERT.SELECT是使用一个DML语句向多个表中插入数据的一部分多表INSERT语句可作为数据仓库应用中向目标数据库传送数据的一种方法它具有更高的效率:避免使用多各DML语句使用一个DML完成IF.THEN的逻辑处理,多表INSERT语句的类型,Oracle9i提供以下四种多表INSERT语句类型:无条件的INSERT有条件的ALLINSERT有条件的FIRSTINSERT旋转INSERT,多表INSERT语句,INSERTALLconditional_insert_clauseinsert_into_clausevalues_clause(subquery),ALLFIRSTWHENconditionTHENinsert_into_clausevalues_clauseELSEinsert_into_clausevalues_clause,conditional_insert_clause,语法,无条件的INSERTALL应用举例,INSERTALLINTOsal_historyVALUES(EMPID,HIREDATE,SAL)INTOmgr_historyVALUES(EMPID,MGR,SAL)SELECTemployee_idEMPID,hire_dateHIREDATE,salarySAL,manager_idMGRFROMemployeesWHEREemployee_id200;8rowscreated.,有条件的INSERTALL应用举例,INSERTALLWHENSAL10000THENINTOsal_historyVALUES(EMPID,HIREDATE,SAL)WHENMGR200THENINTOmgr_historyVALUES(EMPID,MGR,SAL)SELECTemployee_idEMPID,hire_dateHIREDATE,salarySAL,manager_idMGRFROMemployeesWHEREemployee_id200;4rowscreated.,有条件的FIRSTINSERT应用举例,INSERTFIRSTWHENSAL25000THENINTOspecial_salVALUES(DEPTID,SAL)WHENHIREDATElike(%00%)THENINTOhiredate_history_00VALUES(DEPTID,HIREDATE)WHENHIREDATElike(%99%)THENINTOhiredate_history_99VALUES(DEPTID,HIREDATE)ELSEINTOhiredate_historyVALUES(DEPTID,HIREDATE)SELECTdepartment_idDEPTID,SUM(salary)SAL,MAX(hire_date)HIREDATEFROMemployeesGROUPBYdepartment_id;8rowscreated.,旋转INSERT应用举例,INSERTALLINTOsales_infoVALUES(employee_id,week_id,sales_MON)INTOsales_infoVALUES(employee_id,week_id,sales_TUE)INTOsales_infoVALUES(employee_id,week_id,sales_WED)INTOsales_infoVALUES(employee_id,week_id,sales_THUR)INTOsales_infoVALUES(employee_id,week_id,sales_FRI)SELECTEMPLOYEE_ID,week_id,sales_MON,sales_TUE,sales_WED,sales_THUR,sales_FRIFROMsales_source_data;5rowscreated.,外部表,外部表是只读的表,其数据存储在数据库外的平面文件中外部表的各种参数在CREATETABLE语句中指定使用外部表,数据可以存储到外部文件或从外部文件中上载数据到数据库数据可以使用SQL访问,但不能使用DML后在外部表上创建索引,创建路径,创建外部表之前应先使用CREATEDIRECTORY语句创建路径,CREATEDIRECTORYemp_dirAS/flat_files;,创建外部表举例,CREATETABLEoldemp(empnoNUMBER,empnameCHAR(20),birthdateDATE)ORGANIZATIONEXTERNAL(TYPEORACLE_LOADERDEFAULTDIRECTORYemp_dirACCESSPARAMETERS(RECORDSDELIMITEDBYNEWLINEBADFILEbad_empLOGFILElog_empFIELDSTERMINATEDBY,(empnoCHAR,empnameCHAR,birthdateCHARdate_formatdatemaskdd-mon-yyyy)LOCATION(emp1.txt)PARALLEL5REJECTLIMIT200;Tablecreated.,查询外部表,SELECT*FROMoldemp,emp1.txt,创建主键约束同时创建索引举例,CREATETABLENEW_EMP(employee_idNUMBER(6)PRIMARYKEYUSINGINDEX(CREATEINDEXemp_id_idxONNEW_EMP(employee_id),first_nameVARCHAR2(20),last_nameVARCHAR2(25);Tablecreated.,SELECTINDEX_N

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论