OCP-1Z0-051 第174题 事务的组成

一、原题
Which statement is true regarding transactions? (Choose all that apply.)
A. A transaction can consist only of a set of DML and DDL statements.
B. A part or an entire transaction can be undone by using ROLLBACK command.
C. A transaction consists of a set of DML or DCL statements.
D. A part or an entire transaction can be made permanent with a COMMIT.
E. A transaction can consist of only a set of queries or DML or DDL statements.

答案:B  C
(C选项,题库答案中有,但是我在做测试的时候,不正确,如果有朋友有其它意见可以讨论)

二、题目翻译
下面关于事务的描述中,哪句是正确的?(选择所有正确的项)
A.一个事务只能由一组DML和DDL语句组成。
B.部分或整个事务可以使用ROLLBACK命令回滚。
C.一个事务由一组DML或DCL语句组成。
D.部分或整个事务可以使用COMMIT命令永久提交。
E.一个事务只能由一组查询或DML或DDL语句组成。

三、题目解析
A选项不正确,DDL语句就自动提交事务了,所以一组事务中不能包含DDL语句。
B选项正确,rollback可以回滚部分或整个事务。
C选项,在答案中,是选的正确,但是做过测试,是不正确的,DCL语句和DDL语句一样,会自动提交数据。
D选项不正确,commit会提交整个事务。
E选项不正确,DDL语句会自动提交事务,所以一个事务中不能包含DDL语句。

四、测试
在11g的联机文档中,DCL语句定义如下:
Data Control Language
     You can issue native data control language (DCL) statements from an Oracle environment, allowing central administration of user privileges and access levels for heterogeneous data stores.
根据描述可以知道,grant,revoke这些控制权限的语句,属于DCL语句,下面就使用grant语句来做实验。


SQL> create table t(id int);

Table created.

SQL> insert into t values(1);

1 row created.

SQL> grant select on t to hr;

Grant succeeded.

SQL> select * from t;
        ID
----------
         1

SQL> rollback;

Rollback complete.

SQL> select * from t;
        ID
----------
         1

      实验证明:grant已经把事务自动提交了,所以,事务中是不能包含DCL语句的。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值