- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
湘潭大学
实 验 报 告
课 程: Oracle数据库
实验题目: 事务管理
学 院: 信息工程学院
专 业:
学 号:
姓 名: 李
指导教师:
完成日期: 20**/5/25
实验设备:
笔记本电脑
实验环境:
Oracle环境
实验目的:
了解事务处理过程及其命令。
实验内容:
1. 登录 SQL Developer, 开始第 1 个会话, 自动开始一个事务。 查询 10 号部门的雇员姓名、工资与部门号, 执行命令:
select ename,sal,deptno from emp where deptno=10;
显示结果如下:
ENAME SAL DEPTNO
---------- ---------------------- --------------
CLARK 2450 10
KING 5000 10
MILLER 1300 10
2. 将 10 号部门的雇员工资增加 1000, 执行命令:
update emp set sal=sal+1000 where deptno=10;
显示信息: 3 行已更新
3. 查询修改后 10 号部门的雇员姓名、工资与部门号, 执行命令:
select ename,sal,deptno from emp where deptno=10;
显示结果如下:
ENAME SAL DEPTNO
---------- ---------------------- --------------
CLARK 3450 10
KING 6000 10
MILLER 2300 10
4. 设置检查点 sp1,执行命令:
savepoint sp1
5. 将 10 号部门的雇员 KING 的工资再增加 10000,执行命令:
update emp set sal=sal+10000 where deptno=10 and ename=KING;
显示信息: 1 行已更新
6. 查询修改后 10 号部门的雇员姓名、工资与部门号,执行命令:
select ename,sal,deptno from emp where deptno=10;
显示结果如下:
ENAME SAL DEPTNO
---------- ---------------------- --------------
CLARK 3450 10
KING 16000 10
MILLER 2300 10
7. 回退到检查点 sp1,执行命令:
rollback to sp1;
显示信息: 回退完成
8. 查询回退后 10 号部门的雇员姓名、工资与部门号,执行命令:
select ename,sal,deptno from emp where deptno=10;
显示结果如下:
ENAME SAL DEPTNO
---------- ---------------------- --------------
CLARK 3450 10
KING 6000 10
MILLER 2300 10
注意数据的变化。
9. 保持 SQL Developer 中的连接,再登录 SqlPlus,开始第 2 个会话,自动开始另一个事务, 查询 10 号
部门的雇员姓名、工资与部门号, 执行命令:
select ename,sal,deptno from emp where deptno=10;
显示结果如下:
ENAME SAL DEPTNO
---------- ---------------------- --------------
CLARK 2450 10
KING 5000 10
MILLER 1300 10
注意:显示结果与第 19 步一样,但与第 26 步不一样。 为什么?
答:develop的更新没有提交 。
10. 在 SqlPlus 中执行命令:
update emp set sal=sal*10 where deptno=10;
这时, SqlPlus 在等待,没有显示任何信息。
11. 在 SQL Developer 中执行回退命令:
Rollback;
这时,再观察 SqlPlus,显示信息:已更新 3 行
12. 在 SqlPlus 中执行命令:
select ename,sal,deptno from emp where deptno=10;
显示结果如下:
ENAME SAL DEPTNO
---------- --------------------
文档评论(0)