- 1、本文档共65页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 2.删除emp表的全部数据,但不提交,以下正确的语句是: A. DELETE * FROM EMP B. DELETE FROM EMP C. TRUNCATE TABLE EMP D. DELETE TABLE EMP 3.以下不需要进行提交或回退的操作是: A. 显式的锁定一张表 B. 使用UPDATE修改表的记录 C. 使用DELETE删除表的记录 D. 使用SELECT查询表的记录 4.当一个用户修改了表的数据,那么 A. 第二个用户立即能够看到数据的变化 B. 第二个用户必须执行ROLLBACK命令后才能看到数据的变化 C. 第二个用户必须执行COMMIT命令后才能看到数据的变化 D. 第二个用户因为会话不同,暂时不能看到数据的变化 5.对于ROLLBACK命令,以下准确的说法是: A. 撤销刚刚进行的数据修改操作 B. 撤销本次登录以来所有的数据修改 C. 撤销到上次执行提交或回退操作的点 D. 撤销上一个COMMIT命令 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * COMMIT操作把多个步骤对数据库的修改,一次性地永久写入数据库,代表数据库事务的成功执行。ROLLBACK操作在发生问题时,把对数据库已经作出的修改撤消,回退到修改前的状态。在操作过程中,一旦发生问题,如果还没有提交操作,则随时可以使用ROLLBACK来撤消前面的操作。SAVEPOINT则用于在事务中间建立一些保存点,ROLLBACK可以使操作回退到这些点上边,而不必撤销全部的操作。一旦COMMIT完成,就不能用ROLLBACK来取消已经提交的操作。一旦ROLLBACK完成,被撤消的操作要重做,必须重新执行相关操作语句。 如何开始一个新的事务呢?一般情况下,开始一个会话(即连接数据库),执行第一条SQL语句将开始一个新的事务,或执行COMMIT提交或ROLLBACK撤销事务,也标志新的事务的开始。另外,执行DDL(如CREATE)或DCL命令也将自动提交前一个事务而开始一个新的事务。 数据在修改的时候会对记录进行锁定,其他会话不能对锁定的记录进行修改或加锁,只有当前会话提交或撤销后,记录的锁定才会释放。详细内容见下一节。 我们通过以下的训练来为雇员SCOTT增加工资,SCOTT的雇员号为7788。 ? 【训练1】 学习使用COMMIT和ROLLBACK。 步骤1:执行以下命令,提交尚未提交的操作: COMMIT; 执行结果: 提交完成。 显示SCOTT的现有工资: SELECT ename,sal FROM emp WHERE empno=7788; 执行结果: ENAME SAL ---------- ------------------------ SCOTT 3000 步骤2:修改雇员SCOTT的工资: UPDATE emp SET sal=sal+100 WHERE empno=7788; 执行结果: 已更新1行。 显示修改后的SCOTT的工资: SELECT ename,sal FROM emp WHERE empno=7788; 执行结果: ENAME SAL ---------- ------------------------ SCOTT 3100 步骤3:假定修改操作后发现增加的工资应该为1000而不是100,为了取消刚做的操作,可以执行以下命令: ROLLBACK; 执行结果: 回退已完成。 显示回退后SCOTT的工资恢复为3000: SELECT ename,sal FROM emp WHERE empno=7788; 执行结果: ENAME SAL ---------- ------------------------ SCOTT 3000 步骤4:重新修改雇员SCOTT的工资,工资在原有基础上增加1000: UPDATE emp SET sal=sal+1000 WHERE empno=7788; 执行结果: 已更新 1 行。 显示修改后SCOTT的工资: SELECT ename,sal FROM emp WHERE empno=7788;
文档评论(0)