- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
锁的常见问题 如使用锁的方式不当,可能会产生锁冲突,不适当的使用方式包括: 不必要的高级别的锁 长时间运行的事务 没有提交的事务 其他产品产生了高级别的锁 死锁:当两个或者两个以上的用户彼此等待被对方锁定的资源时,就有可能产生死锁。 锁的例子——死锁 会话A在时间T1修改资源X,未进行提交 会话B在时间T2修改资源Y,未进行提交 会话A在时间T3修改资源Y,未进行提交 会话B在时间T4修改资源X,死锁产生 本章小结 INSERT语句 UPDATE语句 DELETE语句 MERGE语句 事务的概念及事务控制 锁的概念及加锁语句的应用 练习 1.向departments表中的部门编号、部门名称、区域编号三列插入两条纪录,分别为:300,‘QQQ’,1500和310,‘TTT’,1700。观察执行结果。 2.使用两种方法完成向列操作,试在新部门的管理者和工作地区编号还没有确定的情况下,向部门表中插入新部门信息如下:部门编号 320及330,部门名称F1及F2。 3.按顺序执行下列操作: 1、插入一个新的部门信息,开始事务。部门编号350,名称 人力资源 管理者 100 区域编号 1700。 2、建立保存点a。 练习(续) 3、查询插入的数据是否存在。 4、删除所有部门编号大于200的部门。 5、建立保存点b。 6、查询还有哪些部门信息存在。 7、更新部门编号为10的部门的管理者的编号为110。 8、查询当前部门信息。 9、执行回滚操作,但不回滚到事务的最开始,而是回滚 到保存点b。 10、提交事务,提交后事务已结束。 11、查看最终数据修改结果。 * * 1、内容简介 在本章中,你将学习怎样插入行到表中,更新表中的行,从表中删除行。你也将学习怎样用COMMIT、SAVEPOINT和ROLLBACK语句来控制事务。 2、内容重点及难点 3、授课方法 PPT教学+上机练习+学员练习点评 * * 一系列DML语句形成某个操作上逻辑不可分割的整体,这就称为事务。 设想一个银行业务数据库。当银行的客户需要从储蓄账户向支票账户上转帐,整个事务由三个独立的操作组成:从储蓄账户上减去金额,在支票账户上增加金额,在事务日志中记录本次事务。Oracle服务器必须保证这三个SQL语句都被执行以维持账户的正确的平衡。当有什么事情阻止这次事务的任何一个操作的执行,那么这次事务处理的其它操作都必须撤销。 * 语法: table 表名称. column 来自表中的字段的名称 value 与列一一对应的值. * 用户输入过程中常见的错误: 不能为空的列没有指定值 重复值会违反为一性约束 违反外键约束 违反CHECK约束 数据类型不匹配 值超出列规定的范围 * 要确保要插入空值的列是允许为空的,使用SQL*Plus 的DESCRIBE 命令查看Null? 选项,可以知道该列是否允许为空。Oracle服务器会自动完成数据类型、数据范围以及完整性约束的校验。任何没有明确指定的列在新记录中会获得一个空值NULL,只要该列允许为空,否则会出现错误。 * * 对于日期和字符型的值,和变量的名称需用单引号括起来。 关于上面的例子需要明确提及以下几点: SQL*Plus 替代参数的名字最好不要与当前表中列名相同。 替代参数仅仅是一个词法变量,用户输入的任何字符都作为文本替代该变量的名称。 使用SQL*Plus SET VERIFY命令,可以使该语句执行前列出替代值。 * 可以使用INSERT语句向表中插入来自另一个表中的数据,方法是在原来 VALUES子句的位置使用子查询。 table 表名 column 表中的列名 subquery 从另一个表中取得数据的子查询 INSERT子句中列的数量和类型必须和子查询中列的数量和类型相匹配 * 语法中 table 表名. column 表中的列名. value 与该列对应的值或子查询. condition 限定被更新的记录,可以由列名、表达式、常量、子查询及比较运算符组成。 通过查询被更新记录的方式验证数据是否更新 注:如果仅仅更新一条记录通常使用主键来标识唯一的记录,如果使用其它列作为标识也许会出乎意料的更新了多个记录,例如用姓名标识EMP表中的记录则是很危险的,因为会有多个雇员具有相同的名字,而他的雇员编号则是唯一的。 * * 用DELETE语句将表中的所有记录删除后,在表中就仅存有数据结构。 清空表数据更有效的方法是使用TRUNCATE语句。 可以使用TRUNCATE语句可以迅速地从表或文件中删除所有记录,使用TRUNCATE语句删除记录比使用DELETE语句更为迅速,原因有
您可能关注的文档
最近下载
- 加固工程专项施工方案.pdf VIP
- 企业战略管理课程设计论文--李宁公司发展战略设计报告.doc VIP
- 【花花读写资料】高阶演练2-写景《观秦兵马俑》季羡林_1.0.pdf VIP
- AIA NAS NAS1802-2013 国外国际标准规范.pdf VIP
- TBT2328-2008 铁路碎石道砟试验方法(第1-19部分).docx VIP
- 第11课 宋元时期的经济、科技与文化 (1).pptx VIP
- 01J925-1 压型钢板、夹芯板屋面及墙体建筑构造.pptx VIP
- 船舶制图 第1章 船体结构.ppt
- 预防接种工作规范(2023年版).pdf VIP
- 智能楼宇DSS-H700-16用户操作手册-2014122.docx
原创力文档


文档评论(0)