oracle操作数据-DML语句_第1页
oracle操作数据-DML语句_第2页
oracle操作数据-DML语句_第3页
oracle操作数据-DML语句_第4页
oracle操作数据-DML语句_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

八.操作数据-DML语句目标结束本节课后,应当达到如下目标:描述每个DML语句向一个表中插入数据更新一个表中数据行从一个表中删除行控制事务数据操作语言DML语句在下列情况下发生:往一个表中增加新行更改一个表中现有的行从一个表中删除掉现有的行一个事务由一组构成一个逻辑操作的DML语句组成

DEPTDEPTNODNAME LOC---------------- --------10 ACCOUNTING NEWYORK20 RESEARCH DALLAS30 SALES CHICAGO40 OPERATIONS BOSTON

新行50 DEVELOPMENT DETROIT

DEPTDEPTNODNAME LOC---------------- --------10 ACCOUNTING NEWYORK20 RESEARCH DALLAS30 SALES CHICAGO40 OPERATIONS BOSTON

50 DEVELOPMENT DETROIT向一个表中增加新行“…向DEPT表中增加新行…”INSERTINTO table[(column[,column...])]VALUES (value[,value...]);INSERT语句使用INSERT语句向表中增加新行.

使用这种方法只能一次插入一行数据.SQL>INSERTINTO dept(deptno,dname,loc)2VALUES (50,'DEVELOPMENT','DETROIT');1rowcreated.插入新行插入包含每一个列值的新行.按缺省顺序列出表中所有的列值.列出INSERT子句中所有的列,这是可选的.

日期值和字符值要用单引号括起来.SQL>INSERTINTO dept(deptno,dname)2VALUES (60,'MIS');1rowcreated.SQL>INSERTINTO dept2VALUES (70,'FINANCE',NULL);1rowcreated.插入带有空值的行省略的方法:从列的链表忽略有空值的列明确的方法:指定NULL关键字SQL>INSERTINTO emp(empno,ename,job,2 mgr,hiredate,sal,comm,3 deptno)4VALUES (7196,'GREEN','SALESMAN',5 7782,SYSDATE,2000,NULL,6 10);1rowcreated.插入特殊的值SYSDATE函数取出当前的日期的时间.SQL>INSERTINTOemp2VALUES(2296,'AROMANO','SALESMAN',7782,3 TO_DATE('03-2月1997','DD-MON,YYYY'),4 1300,NULL,10);1rowcreated.EMPNOENAMEJOBMGRHIREDATESALCOMMDEPTNO-----------------------------------------------2296AROMANOSALESMAN778203-2月-97130010插入特殊的日期值增加一个新的员工检验结果.SQL>INSERTINTOmanagers(id,name,salary,hiredate)2 SELECT empno,ename,sal,hiredate3 FROMemp4 WHERE job='MANAGER';3rowscreated.从另一个表中拷贝行创建带有子查询的INSERT语句。

不要使用VALUES子句.子查询中的列要与INSERT子句中的列相匹配.通过使用SQL*Plus的替代参数创建交互脚本SQL>INSERTINTO dept(deptno,dname,loc)2VALUES (&department_id,3'&department_name','&location');Entervaluefordepartment_id:80Entervaluefordepartment_name:EDUCATIONEntervalueforlocation:ATLANTA1rowcreated.替代变量插入值INSERTINTO(SELECTemployee_id,last_name,email,hire_date,job_id,salary,department_idFROMemployeesWHEREdepartment_id=50)VALUES(99999,'Taylor','DTAYLOR',TO_DATE('07-7月-99','DD-MON-RR'),'ST_CLERK',5000,50);1rowcreated.在INSERT语句中使用子查询

EMP“…更改EMP表中的一行数据…”EMPEMPNO ENAME JOB ...DEPTNO7839 KING PRESIDENT 107698 BLAKE MANAGER 307782 CLARK MANAGER 107566 JONES MANAGER 20...20EMPNO ENAME JOB ...DEPTNO7839 KING PRESIDENT 107698 BLAKE MANAGER 307782 CLARK MANAGER 107566 JONES MANAGER 20...改变一个表中的数据UPDATE tableSET column=value[,column=value,...][WHERE condition];

UPDATE语句使用UPDATE语句更改现有的行.

如果需要,可以一次更改多行.SQL>UPDATE emp2SET deptno=203WHERE empno=7782;1rowupdated.SQL>UPDATE employee2SET deptno=20;14rowsupdated.更改表中的行使用WHERE子句来指定要修改的行.如果忽略WHERE子句,那么句子中所有的值都将被更改.SQL>UPDATEemp2SET(job,deptno)=3 (SELECTjob,deptno4FROMemp5WHEREempno=7499)6WHEREempno=7698;1rowupdated.用多列子查询进行修改更改7698号雇员的工作和部门,与第7499号雇员进行匹配.SQL> UPDATE employee2 SET deptno=(SELECT deptno3 FROM emp 4 WHERE empno=7788)5 WHERE job=(SELECT job6 FROM emp7 WHERE empno=7788);2rowsupdated.使用子查询更新两列在UPDATE语句中,使用子查询来进行更改,更改的数据与其它表中的数据有关.UPDATEemployeesSETjob_id=(SELECTjob_idFROMemployeesWHEREemployee_id=205),salary=(SELECTsalaryFROMemployeesWHEREemployee_id=205)WHEREemployee_id=114;1rowupdated.使用子查询更新两列将员工号为114的工作岗位和工资改成与员工205相同的

“…从一个表中删去一行…”DEPTDEPTNODNAME LOC---------------- --------10 ACCOUNTING NEWYORK20 RESEARCH DALLAS30 SALES CHICAGO40 OPERATIONS BOSTON50 DEVELOPMENT

DETROIT60 MIS ...

DEPTDEPTNODNAME LOC---------------- --------10 ACCOUNTING NEWYORK20 RESEARCH DALLAS30 SALES CHICAGO40 OPERATIONS BOSTON60 MIS ...从一个表中移去一行DELETE[FROM] table[WHERE condition];DELETE语句

可以使用DELETE语句从表中删去现存的行.SQL>DELETEFROM department2WHERE dname='DEVELOPMENT';1rowdeleted.SQL>DELETEFROM department;4rowsdeleted.从一个表中删去行使用WHERE子句以指定哪些行应当被删去.

如果忽略WHERE子句,那么表中所有的数据.SQL>DELETEFROM employee2WHERE deptno=3 (SELECTdeptno4 FROMdept5 WHEREdname='SALES');6rowsdeleted.参照另一个表来删除行使用子查询,使得DELETE语句能从另一个表中删除某些行.TRUNCATE语句删除表中的所有数据,保留表结构是DDL语句,不是DML语句Syntax:Example:TRUNCATETABLEtable_name;TRUNCATETABLEcopy_emp;数据库事务要么全部完成,要么全部废弃的操作集合。一个事务可以包含下列语句:对数据做出一致性修改的DML语句。一个DDL语句一个DCL语句数据库事务以第一个可执行的SQL语句开始。以下列情况结束:执行COMMIT或者ROLLBACK语句执行DDL或者DCL语句用户退出系统崩溃保证数据的一致性在数据永久改变之前,检查数据的改变对逻辑相关的操作进行分组COMMIT和ROLLBACK语句的优点隐式事务处理在下列环境下,一个自动提交发生:处理DDL语句处理DCL语句从SQL*Plus中退出,而没有明确指定COMMIT或者ROLLBACK当SQL*Plus中断或者系统失败时自动进行回滚.之前的状态可以被恢复.当前的用户可以用SELECT语句来查看DML操作后的结果.其它用户看不到当前用户使用DML语句进行数据操纵的结果.产生改变的数据被加锁,其它用户不能改变这些行.COMMIT或ROLLBACK之前数据状态在COMMIT之后的数据状态数据的改变将被永久的反应到数据库中去.事务前面的数据状态将被永久地丢弃.所有的用户可以查看结果.加在产生改变的行上的数据被解锁;这些行对于其他用户是可用的.所有的保存点被释放.SQL>UPDATE emp2SET deptno=103WHERE empno=7782;1rowupdated.SQL>COMMIT;Commitcomplete.提交数据产生改变.CommitthechangesSQL>DELETEFROM employee;14rowsdeleted.SQL>ROLLBACK;Rollbackcomplete.回滚后的数据状态使用ROLLBACK语句丢弃所有的数据改变.数据的改变失效.事务之前的数据状态改变.在改变行的上的锁被释放.控制事物SAVEPOINT

BSAVEPOINT

ADELETEINSERTUPDATEINSERTCOMMITTimeTransactionROLLBACKtoSAVEPOINTBROLLBACKtoSAVEPOINTAROLLBACKSQL>UPDATE...SQL>SAVEPOINTupdate_done;Savepointcreated.SQL>INSERT...SQL>ROLLBACKTOupdate_done;Rollbackcomplete.回滚到某个标记使用SAVEPOINT语句在当前事务中产生一个标记.使用ROLLBACKTOSAVEPOINT语句回滚到那个标记.锁定Oracle锁:在并发事务之间,阻止可能产生的破坏性相互影响。不需要用户进行干预,自动使用。在事务期间使用,事务结束时释放。有两种基本的模式:排它共享描述向表中增加一个新的行更改表中现存的行从表中删除现存的行提交一个事务允许回滚到保存点标记废弃所有未提交的改变语句INSERTUPDATEDELETE COMMITSAVEPOINTROLLBACK总结演讲完毕,谢谢观看!OracleERP主要模块InvoicesARENGBOMWIPBillsand

RoutingsShipmentsECOSWork

OrdersGLAPPlanning(MRP)POMaterialRequirementsEnterprise

DemandVendorPOInterplantPOReceiptsWorkOrdersCustomersJournalEntriesJournalEntriesJournalEntriesVendorInvoicesVendorPaymentsTransportation

InformationBillsItemsOEINVInternalPaymentsCorporateJournalEntriesShipmentsOrdersFAMassAdditionJournalEntriesCOSTCOSTCOSTReceipts财务配销HRPayroll制造人力资源财务系统模块:Oracle总帐管理(GL)Oracle应付帐管理(AP)Oracle固定资产管理(FA)Oracle应收帐管理(AR)Oracle现金管理(CE)Oracle项目会计(PA)Oracle财务分析(OFA)分销系统模块:Oracle库存管理(INV)Oracle采购管理(PUR)Oracle销售定单管理(OE)Oracle销售&市场管理(SM)Oracle销售补偿管理(SC)Oracle售后服务管理(SR)Oracle销售分析(OSA)OracleERP模块清单制造系统模块:Oracle计划管理(MPS/MRP)Oracle能力计划管理(CAP)Oracle制造数据管理(BOM)Oracle车间生产管理(WIP)Oracle成本管理(CST)Oracle项目制造(PJM)Oracle流程制造(OPM)Oracle质量管理(QM)其他系统模块:Oracle设备管理(EM)Oracle人事管理(HR)Oracle薪金管理(PAYROLL)Oracle系统管理(SYSTEMADMIN)Oracle预警(ALT)Oracle多维数据分析/商业智能系统 (OLAP/BIS)Oracle桌面集成(ADI)OracleERP模块清单Engineering工程资料管理系统BillofMaterials物料清单及制程管理系统CostManagement成本管理系统OrderEntry订单管理系统MasterScheduling/MRP生产排程管理系统与物料需求计划系统WorkInProcess生产管理系统Inventory库存管理系统Purchasing采购管理系统Personnel人事管理系统Receivable应收账款管理系统Payable应付账款管理系统Assets固定资产管理系统GeneralLedger

总帐会计系统Capacity产能规划系统OracleApplications41Oracle行业模型:离散制造供应链企业后台管理客户关系管理计划寻源

制造

市场销售支持企业管理返回项目到盈利财务管理到财务报告概念到发布联系到解决合同到续签预测到计划采购到付款需求到制造(离散)订单到收款库存到履约问题到预防机会到订单Oracle主要业务流程DesigntoReleaseForecasttoPlanPlantoScheduleScheduletobuildProcuretoPayOrdertoCashInventorytoFulfillmentCostQuality43概念到发布返回设计到发布预测到计划计划到排程排程到生产(离散)概念到获利一级业务流程44预测到计划返回供应商协同到供应商承诺客户协同到达成一致预测预测到计划计划到排程排程到生产(离散)请求到接收–直接设计到发布一级业务流程45采购到支付返回分析到协议预测到计划申请到接收–直接申请到接收–间接供应商退货到贷项通知单供应商退货到补货验收到接收接收到资产供应商发票到付款补货信号费用报告到入帐一级业务流程46需求到制造(离散)返回一级业务流程返回计划到排程排程到生产(离散)检验到处理设计到发布按订单配置到发运按订单装配到发运一级业务流程47订单到收款返回订单到直发信贷审批到客户拣货到订单到发运客户退货到退款客户退货到退换客户发票-现金定制到订单到发运装配到订单到发运

销售线索到订单订单到发运订单到直接采购发运收入到过帐订单到客户发票一级业务流程48库存到履约返回申请到接收-直接排程到生产(离散)检验到处理产品标准成本到库存再估价订单到收款接收到库存准确度补货信号到补货子分类帐到过帐仓库布局到库存估价计划到排程一级业务流程客户订单CustomerPO销售预测Forecast主需求计划MDS主生产计划MPS物料需求

计划MRP请购作业PR采购作业PO

收料作业

Receiving工单开立WIP生产发料WIPIssue生产控制生产入库WIPComplete出货作业Shipping应付账款应收账款发票作业成本作业Oracle整合企业日常作业流程可承诺量查核ATP内部领用捡货单杂项发料/退货MiscIssue/Return发料/出货Issue入库异动ReceiptTransaction实际盘点PhysicalCounting标签与序列号列印TagGeneration盘点过账交货预测与再订购管理ForecastandReorder存货管制规则-Min-max-ReorderPoint-Sub-inventoryreplenishment交货/预定安排库存评估/报表定义作业规定总帐更新定义作业流程组织/仓库定义SetupOrganization/Subinventory检验Inspect登帐运送Deliver退货Return供应商Supplier内部Internal成本Cost状态Status目录Catalog分类Category模板Template供应商Supplier内部Internal订单处理自动请购余额更新调整库存平衡表循环盘点CycleCounting-自动排程-手动排程OracleInventory(库存管理系统)库存控制InventoryControl物料管理MaterialManagement收料Receipt联接操作制程料品定义Item定义资源Resource选用零配件/料品成本累计成品FinishGood定义资源使用量ResourceRate新产品流程建立替代制程AlternateRouting定义制程Routing材料需求ItemRequirement新产品开发建立替代性物料清单AlternateBOM工单排程量产日排程实施设计变更单OracleBillofMaterials(物料清单及制程管理系统)设计变更单ECO半成品Assembly建立物料清单BOM产品规格-型号、选项产生工单(或量产计划)完成品入库原物料耗用报表-工单成本-期间成本-成本差异-成本衡量-物料耗用-资源耗用组立装配Assembly(选项)外包反溯扣帐Backflash工单发放Release发料Issue装配完成工单完成WIPComplete制造资源耗用Resource-人工-机器设备-制造费用送货/交货外包交货外包OutsideProcessing安排生产制程物料清单展开计划工单手开工单销售订单OracleWorkInProcess(生产管理系统)预测资料ForecastOracleSO客户订单其它系统客户订单需求报表&查询主需求计划MDS需求排程更新MDSUpdate详细产能计划物料需求计划MRP工单WIP请购PRBOM计划工单计划采购单现有库存量OnhandOraclePlanning(MPS/MRP管理系统)主生产计划MPS交易资讯Transaction定义配件成本报告采购收料POReceive定义成本计算规则成本累计CostRollup成本更新CostUpdate库存值计算采购料品材料材料管理费用用料清单制程

成本元件-工作项目/活动Project/Active-料品Item-批次Lot-资源单位Uom-总价半成品库存资源成本采购退货POReturn公司间移转OrganizationTransfer移动平均成本更新杂项收发MiscellaneousReceipt/Issue选择模拟规则模拟冻结成本Frozen冻结成本OracleCostManagement(成本管理系统)请购单处理收货

(料)Receipt检验Inspect异动处理-收货-运送-调拨退货Return应付账款对帐应计作业-暂记项目-凭证-月结报价单收集请求报价RFQ(选择性项目)自动产生订购单发放Release定义企业流程收料控制-核准及安全管制-交货来源-采购预算管制-异动处理方法内部转移InterOrgTransfer发票处理应付账款成立APInvoice总帐科目更新核准Approve供应商挑选供应商交货允收AcceptOraclePurchasing(采购管理系统)MRP需求存货状况OnhandQty在制品(委外)OutProcess手开请购ManualPR开放界面Interface列印/EDI核准Approve各种采购单-标准式Standard-计划式Planned-合并式Blanket-合约式Contract判退Reject选配件产品订单输入OrderEnter发票开立Invoice出货管理Shipping退货管理RMA退货审核Approve货品退回Return订单完成重排程Re-schedule保留Reservation库存余额更新未交订单管理定义各项流程次序定义流程元件定义企业运作流程Workflow-弹定规则订单处理流程-授信额度检查-退货管理-订单排程订单处理流程定义授信額度檢查CreditCheck例外管理Exception订单保留Hold-自动Auto-手动Manual订单解除管制HoldRelease订价Price订单审核确认客户基本资料Customer线上查询库存余量-允交量ATP-保留量Reservation授信额度检查CreditCheckOracleOrderEntry(订单管理系统)允交量查询ATP订单排程OrderSchedule出货确认ShipConfirm检货Pick销货折让Credit分派/收集预算资料建立预算预算作业Budget查询报表产生器

(FSG)定义企业作业模式/输出分析会计科目结构AccountingStructure分录/凭证登录日历Calendar多公司合并作业处理Consolidation多币别作业Multi-Currency应计分录/回转分录开放介面转入Interface科目调整作业

温馨提示

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

评论

0/150

提交评论